Python: ValueError: too many values to unpack

时间:2022-01-03 14:10:43

eg1:

>>>a,b=(1,2,3)

Traceback (most recent call last):

  File "<stdin>",line 1,in <module>

ValueError: too many values to unpack (expected 2)

错误原因: 一个tuple值赋给一个tuple变量时,变量个数不够造成的

可以改成 a,b,c=(1,2,3)或者其他变量即可

eg2:

>>>import collections

>>>s=[('y',1),('b',1),('r'),('y',2)]

>>>d=collections.defaultdict(list)

>>>for k,v in s:

...  d[k].append(v)

...

Traceback (most recent call last):

  File "<stdin>",line 1,in <module>

ValueError: too many values to unpack (expected 2)

错误原因:    s=[('y',1),('b',1),('r'),('y',2)] 这句里面的('r') 变量个数不够了

可以改成 s=[('y',1),('b',1),('r',1),('y',2)]或者其他值即可