首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >忽略python多个返回值

忽略python多个返回值
EN

Stack Overflow用户
提问于 2009-01-10 22:12:49
回答 11查看 249.8K关注 0票数 344

假设我有一个Python函数,它在一个元组中返回多个值:

代码语言:javascript
运行
复制
def func():
    return 1, 2

有没有一种好的方法可以忽略其中一个结果,而不是只给一个临时变量赋值?假设我只对第一个值感兴趣,有没有比这更好的方法:

代码语言:javascript
运行
复制
x, temp = func()
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2009-01-10 22:18:58

一种常见的约定是使用"_“作为要忽略的元组元素的变量名。例如:

代码语言:javascript
运行
复制
def f():
    return 1, 2, 3

_, _, x = f()
票数 305
EN

Stack Overflow用户

发布于 2009-01-10 22:14:43

可以使用x = func()[0]返回第一个值,使用x = func()[1]返回第二个值,依此类推。

如果你想一次获得多个值,可以使用x, y = func()[2:4]这样的东西。

票数 697
EN

Stack Overflow用户

发布于 2009-01-11 21:15:51

如果你使用的是Python3,你可以在变量前面使用星号(在赋值的左边),让它成为解包中的一个列表。

代码语言:javascript
运行
复制
# 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]
票数 131
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/431866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档