gpt4 book ai didi

python - Python 3 中更快的 for 循环

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:24 25 4
gpt4 key购买 nike

哪个更快,为什么?有明显区别吗?

""" my_list=[1,2,3...N] """

for i in my_list:
do something

for i in range(1,N):
do something

在我看来,在第二种情况下,范围函数将被调用 N 次,这可能会更慢,但我不知道 in 运算符实际上是如何工作的。

最佳答案

>>> t = timeit.Timer("""for i in range(3):
... pass""")
>>> t.timeit(1)
2.199320988438558e-06

相对于:

>>> t = timeit.Timer("""list_a=[0,1,2]
... for i in list_a:
... pass""")
>>> t.timeit(1)
4.398641522129765e-06

您可以看到这些操作之间的时间差异。此外,您应该意识到,在 python 2 中,如果您不需要同时需要所有这些值(例如简单迭代),则更建议使用 xrange 而不是 range,因为它在每次迭代时生成一个值,这可以节省大量内存,有时甚至 CPU(在更复杂的情况下)。

了解更多信息: https://wiki.python.org/moin/Generators

关于python - Python 3 中更快的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37269474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com