如何忽略Python中多输出函数的一个输出?

12 投票
3 回答
22888 浏览
提问于 2025-04-17 20:10

假设我有一个函数:

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]

撰写回答