gpt4 book ai didi

枚举 2 的 Python 循环

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

我不是 100% 确定如何提出问题的标题,但我想做的很简单。我想在 Python 中使用 enumerate 函数遍历一个列表,但我想知道是否可以通过 2 来完成它,如果没有枚举我会这样做,就像这样:

numbers = ['One', 'Two', 'Three', 'Four', 'Five']

i = 0
for number in numbers:
print(i, number)
i += 2

是否可以使用枚举函数(Pythonic 方式)来实现,或者我应该像示例中那样实现?

最佳答案

只需 enumerate() 输出乘以二:

for i, number in enumerate(numbers):
print(i * 2, number)

这基本上就是 range() 对象在 Python 3 中所做的;计算任何给定索引的数量。由于您的系列从 0 开始,您所要做的就是将 i 乘以您的步长。

另一种方法是zip() itertools.count() object沿着:

from itertools import count
try:
# Python 2, use the iterator version of zip
from future_builtins import zip
except ImportError:
# Python 3
pass

for i, number in zip(count(step=2), numbers):
print(i, number)

Python 3 中的演示:

>>> from itertools import count
>>> numbers = ['One', 'Two', 'Three', 'Four', 'Five']
>>> for i, number in enumerate(numbers):
... print(i * 2, number)
...
0 One
2 Two
4 Three
6 Four
8 Five
>>> for i, number in zip(count(step=2), numbers):
... print(i, number)
...
0 One
2 Two
4 Three
6 Four
8 Five

关于枚举 2 的 Python 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38006929/

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