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