您好,我想弄清楚为什么它不起作用
def fun():
a = [1,4]
b = [2,5]
c = [3,6]
return a,b,c
我想打印a
,b
和c
,但调用print(x)
,print(y)
和print(z)
for x,y,z in fun():
print(x)
我唯一得到的就是
ValueError:没有足够的值可解压缩(预期3,得到2)
答案 0 :(得分:5)
您可以执行以下操作:
def fun():
a = [1,4]
b = [2,5]
c = [3,6]
return a,b,c
for item in fun():
print(item)
或者:
x,y,z = fun()
print(x)
您不能像现在那样遍历函数的返回值。
编辑:
这样做的问题
for x,y,z in fun():
是fun()
等于([1,4], [2,5], [3,6])
。这意味着在遍历该元组时没有z
值。因此,如果您想这样做,可以这样做:
for x,y in fun():
print(x,y)
尽管您不会打印列表,但会遍历列表中的每个项目并打印这些项目。
编辑功劳:Jeremy的评论。