也许问这个问题很奇怪,因为我当然不理解。
例如,如果我们有a=[(1,2), (3,4)]
;操作有效
for x,y in a: print(x,y)
但是只要我们在这些元组中添加任何其他元素,
a=[(1,2,3),(4,5,6)]
for x,y in a: print(x,y) --------------- Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: too many values to unpack (expected 2)
但是与
zip(a[0],a[1])
一起工作有效
[我看到这个问题已经被问过很多次了,但是我找不到任何理由说明为什么len大于2不能正常工作。
有人可以向我解释为什么吗?
也许问这个问题很奇怪,因为我当然不理解。例如,如果我们有a = [((1,2),(3,4)];该操作适用于x,y的形式:print(x,y)但只要我们...
好问题。
too many values to unpack
被抛出,因为您试图将3个元素的元组拆包(分配给变量)为2个变量-x
和y
。a
中的元组每个都有三个元素,所以需要三个变量来解压缩它们。也就是说,