import timeit s = list([i for i in range(1000)]) def v1(l): for k, v in enumerate(l): pass return l def v2(l): for i in range(len(l)): pass return l setup = """ from __main__ import v1, v2, s """ print("Enumerate: %s" % timeit.timeit('v1(s)', setup=setup)) print("Range: %s" % timeit.timeit('v2(s)', setup=setup)) """ ==========Results: Enumerate: 22.7995829582 Range: 14.351061821 """