You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python:如何简洁解包函数返回的元组内单元素列表?

解决方案:直接在解包时提取列表元素

当然有更简洁的单行写法啦,不用先解包再逐个赋值,咱们可以在解包的同时直接取出每个列表的第一个元素:

方法1:生成器表达式(推荐,仅调用一次函数)

这种方式只调用一次myfunction(),效率高而且可读性好:

A, B = (item[0] for item in myfunction())

方法2:使用map函数

map配合匿名函数批量提取每个列表的第一个元素:

A, B = map(lambda x: x[0], myfunction())

方法3:直接索引(适合固定长度返回值)

如果明确知道函数返回的元组只有两个元素,也可以这样写(同样是单行):

A, B = myfunction()[0][0], myfunction()[1][0]

⚠️ 注意:这种方式会调用两次myfunction(),如果函数有副作用(比如修改外部变量、发起网络请求)的话,千万别用这个!

备选:可读性优先的单行写法

如果你觉得上面的写法不够直观,也可以把解包和提取合并成一行,兼顾可读性:

a_list, b_list = myfunction()
A, B = a_list[0], b_list[0]

这些写法都能帮你一步到位得到整数12,不用分两次赋值~

内容的提问来源于stack exchange,提问作者Clara

火山引擎 最新活动