Python,在新行中返回多个数组

use*_*056 3 python

我有3个数组,a1,a2,a3

我想立刻归还他们三个.

我有

return a1, a2, a3 但是它将它们全部归还在同一条线上,我想知道如何在新线路上返回它们

Joh*_*ooy 8

你的意思是这样的吗?

>>> def f():
...   a1 = [1, 2, 3]
...   a2 = [4, 5, 6]
...   a3 = [7, 8, 9]
...   return a1, a2, a3
... 
>>> f()
([1, 2, 3], [4, 5, 6], [7, 8, 9])
Run Code Online (Sandbox Code Playgroud)

您可以像这样解压缩返回值

>>> b1, b2, b3 = f()
>>> b1
[1, 2, 3]
>>> b2
[4, 5, 6]
>>> b3
[7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

或者像这样打印3行

>>> print "\n".join(str(x) for x in f())
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
Run Code Online (Sandbox Code Playgroud)


sbe*_*rry 1

你是否要求能够做到

return a1
return a2
return a3
Run Code Online (Sandbox Code Playgroud)

代替

return a1, a2, a3
Run Code Online (Sandbox Code Playgroud)

???

如果是这样,我很抱歉,但你不能这样做。当你使用时,return a1, a2, a3你实际上返回的是一个东西,一个由 3 个列表组成的元组。执行 return 语句会将当前范围/上下文返回给调用者。如果这不是您想要做的,请更清楚地解释您想要做什么。