如何忽略Python中多输出函数的一个输出?
假设我有一个函数:
def f():
...
...
...
return a,b,c
我只想在这个函数的输出中得到b。那我应该用什么样的赋值呢?
谢谢。
3 个回答
1
你在 return a,b,c
这一行做的事情是创建了一个叫做 tuple
的东西,然后把它从函数里返回出去。这样你就可以用一种叫做元组解构的方法,只获取你想要的值。举个例子:
def f(x):
return x, x + 1, x + 2
_, b, _ = f(0)
print(b) # prints "1"
4
def f():
return 1,2,3
这里,f()
返回一个元组 (1,2,3)
,所以你可以像这样做:
a = f()[0]
print a
1
a = f()[1]
print a
2
a = f()[2]
print a
3
32
你可以把返回的元组拆开,放到一些临时变量里:
_, keep_this, _ = f()
这些变量不一定要叫_
,只要是明显没用的名字就行。
(在交互式解释器中不要用_
作为临时变量名,因为它是用来保存上一个结果的。)
另外,你也可以通过索引来获取返回的元组中的值:
keep_this = f()[1]