gpt4 book ai didi

Python 的 foreach 倒退

转载 作者:太空狗 更新时间:2023-10-29 20:37:29 30 4
gpt4 key购买 nike

python 有办法反向执行 foreach 吗?我希望同时执行 filter() (或列表理解)和反转列表,这样我就可以避免单独执行(我怀疑这会更慢)。我正在使用 python 2.4(不幸的是我不得不),但我也很好奇 python 3.0 中的列表理解解决方案是什么。

编辑这两个解决方案看起来是一样的:

python -m timeit -s 'x=[1,2,3,4,5]*99; filter(lambda x: x == 5, reversed(x))' 
100000000 loops, best of 3: 0.0117 usec per loop
python -m timeit -s 'x=[1,2,3,4,5]*99; x.reverse(); filter(lambda x: x == 5, x)'
100000000 loops, best of 3: 0.0117 usec per loop

最佳答案

您正在寻找内置的 reversed() :

>>> for i in reversed(range(5)):
... print i
...
4
3
2
1
0

这会反向迭代序列,而不会创建列表的额外副本。

关于Python 的 foreach 倒退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969841/

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