在Python中重用循环中的迭代器变量

时间:2015-01-19 19:01:41

标签: python for-loop iteration enumerate

2.7.3版本, 我可以重用像这样的迭代器变量吗?:

for i, name in enumerate(listOfNames):

然后再做:

for i, address in enumerate (addressList):

1 个答案:

答案 0 :(得分:1)

什么是迭代器变量?你没有重复使用任何东西。你正在两个单独的时间调用enumerate,因此它将生成两个独立的生成器。

你遇到麻烦的唯一方法就是你做了这样的事情

>>> listOfNames = ['bob', 'mike', 'steve']
>>> e = enumerate(listOfNames)

>>> for i, name in e:
        print(i)

0
1
2

>>> for i, name in e:
        print(i)

# prints nothing

请注意,我们已将enumerate调用的返回值分配给变量e。如果您尝试两次迭代该变量,则第二次不会得到任何结果。在您的情况下,您将不会遇到此问题