在for循环中解包列表的列表无效
我有:
master_list = [['001', '15\n', '963789', '40\n', '741239', '80\n', '985697', '80\n', '854698', '35\n', '965874', '10\n'],
['002', '25\n', '326574', '65\n', '944223', '40\n', '312689', '45\n', '225869', '80\n', '789654', '35\n'],
['003', '10\n', '857963', '50\n', '253698', '40\n', '965478', '50\n', '186458', '40\n', '351296', '40\n'],
['004', '20\n', '675964', '40\n', '612985', '40\n', '653674', '35\n', '957296', '50\n', '852169', '40\n'],
['005', '13', '246912', '40\n', '371956', '40\n', '819736', '40\n', '915745', '50\n', '197548', '40']]
我正在尝试解包为:
for a,b,c,d,e, in master_list:
print(a,b,c,d,e)
出现了异常:
ValueError: too many values to unpack (expected 5)
这是为什么呢?我看不出有什么问题。
2 个回答
0
在Python3中,你可以这样解决任意长度的问题:
for a,b,c,d,e,*_ in master_list:
print(a,b,c,d,e)
2
这个错误是对的,你在嵌套列表里有12个项目,但你只提供了5个变量来接收这些项目。如果你只是想打印这些内容,可以这样做:
for l in master_list:
print(*l)