python中的这段代码有什么问题
嗨,我想弄明白为什么这不起作用python中的这段代码有什么问题,python,Python,嗨,我想弄明白为什么这不起作用 def fun(): a = [1,4] b = [2,5] c = [3,6] return a,b,c 我想打印a,b和c,但调用print(x),print(y)和print(z) 我唯一得到的是 ValueError:没有足够的值来解包(预期为3,实际为2) 您可以这样做: def fun(): a = [1,4] b = [2,5] c = [3,6] return a,b,c for item in
def fun():
a = [1,4]
b = [2,5]
c = [3,6]
return a,b,c
我想打印a
,b
和c
,但调用print(x)
,print(y)
和print(z)
我唯一得到的是
ValueError:没有足够的值来解包(预期为3,实际为2)
您可以这样做:
def fun():
a = [1,4]
b = [2,5]
c = [3,6]
return a,b,c
for item in fun():
print(item)
或:
您不能像现在这样迭代函数的返回值
编辑:
做某事的问题
for x,y,z in fun():
那就是fun()
等于([1,4],[2,5],[3,6])
。这意味着在遍历该元组时没有z
值。所以如果你想这样做,你可以:
for x,y in fun():
print(x,y)
虽然您不会打印列表,但会迭代列表中的每个项目并打印这些项目
编辑信用证的评论。您可以这样做:
def fun():
a = [1,4]
b = [2,5]
c = [3,6]
return a,b,c
for item in fun():
print(item)
或:
您不能像现在这样迭代函数的返回值
编辑:
做某事的问题
for x,y,z in fun():
那就是fun()
等于([1,4],[2,5],[3,6])
。这意味着在遍历该元组时没有z
值。所以如果你想这样做,你可以:
for x,y in fun():
print(x,y)
虽然您不会打印列表,但会迭代列表中的每个项目并打印这些项目
编辑信用证:“s评论。实际上是为了x,y的乐趣():打印(x,y)适合我。问题的一部分是返回是一组3对,而不是两个三元组。哦,有趣的是,我没有这样想过。看起来这样做只是用([1,4],[2,5],[3,6])替换了fun(),然后迭代这个元组?是的,我想是这样。谢谢你在编辑中的大喊。实际上,对于x,y,in fun():print(x,y)适合我。问题的一部分是返回是一组3对,而不是两个三元组。哦,有趣的是,我没有这样想过。看起来这样做只是用([1,4],[2,5],[3,6])替换了fun(),然后迭代这个元组?是的,我想是这样。谢谢你在编辑中的留言。