假设我有一个Python函数,它在一个元组中返回多个值:
def func():
return 1, 2
有没有一种好的方法可以忽略其中一个结果,而不是只给一个临时变量赋值?假设我只对第一个值感兴趣,有没有比这更好的方法:
x, temp = func()
发布于 2009-01-10 22:18:58
一种常见的约定是使用"_“作为要忽略的元组元素的变量名。例如:
def f():
return 1, 2, 3
_, _, x = f()
发布于 2009-01-10 22:14:43
可以使用x = func()[0]
返回第一个值,使用x = func()[1]
返回第二个值,依此类推。
如果你想一次获得多个值,可以使用x, y = func()[2:4]
这样的东西。
发布于 2009-01-11 21:15:51
如果你使用的是Python3,你可以在变量前面使用星号(在赋值的左边),让它成为解包中的一个列表。
# Example 1: a is 1 and b is [2, 3]
a, *b = [1, 2, 3]
# Example 2: a is 1, b is [2, 3], and c is 4
a, *b, c = [1, 2, 3, 4]
# Example 3: b is [1, 2] and c is 3
*b, c = [1, 2, 3]
# Example 4: a is 1 and b is []
a, *b = [1]
https://stackoverflow.com/questions/431866
复制相似问题