10

假设我有一个功能:

def f():
  ...
  ...
  ...
  return a,b,c

我只想在函数的输出中得到 b 。我必须使用哪个作业?

谢谢。

4

3 回答 3

29

您可以将返回的元组解压缩为一些虚拟变量:

_, keep_this, _ = f()

它不一定是_,只是一些明显未使用的东西。

(不要_在交互式解释器中用作虚拟名称,它用于保存最后一个结果。)

 

或者,索引返回的元组:

keep_this = f()[1]
于 2013-03-24T19:50:49.337 回答
3
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
于 2013-03-24T19:59:44.303 回答
1

您对该return a,b,c行所做的是创建 atuple然后从函数中返回它。因此,您可以使用元组解构来仅从结果中获取您想要的值。例子:

def f(x):
    return x, x + 1, x + 2
_, b, _ = f(0)
print(b) # prints "1"
于 2013-03-24T19:52:39.693 回答