【发布时间】:2018-12-25 15:07:48
【问题描述】:
我正在尝试使用 for 循环从两个具有相同数量值的不同列表中打印两个变量,但是当列表具有两个以上的值时,我会收到此错误:
ValueError: too many values to unpack (expected 2)
假设名字和姓氏列表的长度相同(例如name = ['m', 'y', '.', '.'] 和surname = ['n', 'a', 'm', 'e'])
for x,y in name,surname:
print(x,y)
我的预期结果是“my..”和“name”垂直打印在一起。
【问题讨论】:
-
您的
for循环正在迭代长度为 2 的序列:name后跟surname。这两个项目中的每一个都被解包到x和y中,这会失败,因为它们每个都包含四个元素。要并行迭代这两个序列,请使用zip(name, surname)。 -
浏览this 帖子。一切都很详细
标签: python python-3.x list for-loop