Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的这段代码有什么问题_Python - Fatal编程技术网

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(),然后迭代这个元组?是的,我想是这样。谢谢你在编辑中的留言。