【发布时间】:2013-03-14 05:55:39
【问题描述】:
假设我有一个函数:
def f():
...
...
...
return a,b,c
我只想在函数的输出中得到 b。我必须使用哪个作业?
谢谢。
【问题讨论】:
假设我有一个函数:
def f():
...
...
...
return a,b,c
我只想在函数的输出中得到 b。我必须使用哪个作业?
谢谢。
【问题讨论】:
您可以将返回的元组解包为一些虚拟变量:
_, keep_this, _ = f()
不一定是_,只是一些明显未使用的东西。
(不要在交互式解释器中使用_作为虚拟名称,它用于保存最后的结果。)
或者,索引返回的元组:
keep_this = f()[1]
【讨论】:
x, y, z = f() 而忽略x 和z。 _ 这个名字不太可能对其他任何东西有用。
del _ 放弃对它的引用。顺便说一句,_ 是交互式解释器中的一个特殊变量,保存最后一个返回值。
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
【讨论】:
您对return a,b,c 行所做的是创建一个tuple,然后从函数中返回它。因此,您可以使用元组解构来仅从结果中获取您想要的值。示例:
def f(x):
return x, x + 1, x + 2
_, b, _ = f(0)
print(b) # prints "1"
【讨论】: