Python 巨蟒:“;int";对象在嵌套枚举(列表)中不可迭代

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

我试图迭代列表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: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)
)没有任何意义