关于ValueError: too many values to unpack (expected 2)
这个报错是怎么出来的呀。。。 我看经常会报这种错,如果出现了 我这个解决这个bug的思路是什么啊>>> x =
>>> y = "FishC"
>>> for i, j in x, y:
... print(i, j)
...
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
for i, j in x, y:
ValueError: too many values to unpack (expected 2) x =
y = "FishC"
for i, j in zip(x, y):
print(i, j) isdkz 发表于 2022-4-4 17:34
emmm 他这个报错是为啥啊 本帖最后由 isdkz 于 2022-4-4 17:48 编辑
Victor0321 发表于 2022-4-4 17:43
emmm 他这个报错是为啥啊
for i, j in x, y 相当于 for i, j in (x, y) 也就是把 x, y 当成元组,
他会把迭代出的每一项解包给 i 和 j,而你的 x 和 y 都有 5 个元素,是没法解包给 2 个变量的 isdkz 发表于 2022-4-4 17:47
for i, j in x, y 相当于 for i, j in (x, y) 也就是把 x, y 当成元组,
他会把迭代出的每一项解包 ...
emmm 您的意思是: (x,y)这个元组是(,'fishc')他无法直接解包给i,j, 需要转换成((1,f),(2,i)(3,s)(4,h)(5,c))这个元组才能一一解包给对应的i,j 变量 循环5次么 Victor0321 发表于 2022-4-4 17:56
emmm 您的意思是: (x,y)这个元组是(,'fishc')他无法直接解包给i,j, 需要转换成((1,f),(2, ...
是(x, y) 这个元组的元素 x 和 y 都有 5 个元素,所以无法解包给 i, j 两个变量,
当然,你可以加个打包:for i, *j in x, y
但是这样很明显不是你的需求
页:
[1]