python - 如何压缩无限范围的迭代器?

标签 python python-3.x iterator range

<分区>

我想在遍历迭代器时跟踪索引。在 Haskell 中,我可以用无限的整数列表 [1..] 压缩迭代器。但是,我不知道 Python 中有这样的功能。构造如下所示的迭代器的最简单方法是什么?

for (case,i) in zip(data, magic_infinite_list):
    print('Case #{}: {}'.format(i,case))

(我知道我可以创建一个变量 i 并手动递增它,这不是重点——我想知道是否可以用迭代器做到这一点)

最佳答案

您应该使用enumerate。请注意,此处 i 是从 0 开始的:

for (i, case) in enumerate(data):
    print('Case #{}: {}'.format(i + 1, case))

关于python - 如何压缩无限范围的迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43130202/

相关文章:

java - 将小数转换为分数,java和python给出不同的输出

ruby - 为什么 `for i in a` 不是惯用的 Ruby?

python - 通过列表值迭代有限但任意次数的最Pythonic方法

python - 渲染而不传递请求

python - 获取对象中的碱基列表

Python - 来自文件的行 - 所有组合

python - 求和产品和分组

iterator - 如何为任何可迭代类型实现特征?

python - 为什么使用带有 post 的表单在 python 中发送图像不起作用

python - Ubuntu 12.04 中 openssl 错误的 Google App Engine SDK urlfetch 解决方法