枚举速度稍快。在Python 3中测试:
>>>import pygame>>>pygame.init()>>>clock = pygame.time.Clock()>>>a = list(range(100000))>>>def do_with_range():... clock.tick()... k = 0... for i in range(len(a)):... k += a[i]... print(clock.tick())>>>def do_with_enumerate():... clock.tick()... k = 0... for i, j in enumerate(a):... k += j... print(clock.tick())>>>do_with_range()23>>>do_with_enumerate()21
如果a不是列表,而是生成器,则使用枚举会更快(使用范围为74毫秒,使用枚举为23毫秒)。



