下面是某网站上的测试,我也测试过,我稍微慢一点,可能自己的计算机性能不高。我们的常识认为generator 应该比list快一点,毕竟 List 是跟复杂的 generator. 你有其他类似的实验,改变自己原来的认识吗?
>>> import timeit
>>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
0.3412662749997253
>>> timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
0.2996307989997149
>>> timeit.timeit('"-".join(map(str, range(100)))', number=10000)
0.24581470699922647
我还测试了
>>> timeit.timeit('"-".join(list(map(str, range(100))))', number=10000)
似乎也比generator版快一丢丢。
>>> import timeit
>>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
0.3412662749997253
>>> timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
0.2996307989997149
>>> timeit.timeit('"-".join(map(str, range(100)))', number=10000)
0.24581470699922647
我还测试了
>>> timeit.timeit('"-".join(list(map(str, range(100))))', number=10000)
似乎也比generator版快一丢丢。
