【发布时间】:2019-12-28 17:44:43
【问题描述】:
我正在尝试遍历 list b 的每个元素:
a = [1, 2, 3, 4]
b = [1, 2, 3, 4]
for cnt1, a in enumerate(a):
print ("a:",cnt1, a)
for cnt2, b in enumerate(b):
print ("b:", cnt2, b)
但是,我总是得到一个 "TypeError: 'int' object is not iterable" 在 a 的第二次迭代的内部循环中。
预期:
答:0 1
b: 0 1
乙:1 2
乙:2 3
b: 3 4
答:1 2
b: 0 1
...
b: 3 4
答:2 3
...
实际:
答:0 1
b: 0 1
乙:1 2
乙:2 3
b: 3 4
答:1 2
TypeError: 'int' object is not iterable at: for cnt2, b in enumerate(b):
【问题讨论】:
-
您在 for 循环中重新定义了变量
a和b。 "对于 cnt1,a 在 ..." -
你为什么要用循环变量隐藏你正在迭代的列表?
-
Python 的
for循环本质上是foreach循环。他们分配给变量。在第二次迭代中,a已经是列表a的一个元素。enumerate-ing 整数 (enumerate(a)) 没有任何意义