Python 巨蟒:“;int";对象在嵌套枚举(列表)中不可迭代
我试图迭代列表b的每个元素:Python 巨蟒:“;int";对象在嵌套枚举(列表)中不可迭代,python,enumerate,Python,Enumerate,我试图迭代列表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”对象不可编辑”,位于a的第二次迭代的内部循环 预期的: a:01 b:01 b:12 b:23 b:34 a
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”对象不可编辑”,位于a的第二次迭代的内部循环
预期的:a:01
b:01
b:12
b:23
b:34
a:12
b:01
…
b:34
a:23
... 实际值:
a:01
b:01
b:12
b:23
b:34
a:12
TypeError:“int”对象在:处不可用于枚举(b)中的cnt2,b:正如Iain在评论中指出的,您正在重新定义循环中的
a
和b
,这将解决问题
a = [1, 2, 3, 4]
b = [1, 2, 3, 4]
for cnt1, ele1 in enumerate(a):
print ("a:",cnt1, ele1)
for cnt2, ele2 in enumerate(b):
print ("b:", cnt2, ele2)
您正在重新定义for循环中的变量
a
和b
。“对于cnt1,a in…”为什么要用循环变量来隐藏正在迭代的列表?Python的for
循环本质上是foreach
循环。它们分配给变量。在第二次迭代中,a
已经是列表a
的一个元素<代码>枚举-枚举整数(枚举(a)
)没有任何意义