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

如何使用Python列表推导式(List Comprehension)从元组列表中提取首个字符串元素?

如何用Python列表推导式提取元组列表中的首个元素?

刚接触列表推导式的时候很容易踩这个小坑,你写的[group for group in data2]只是把每个元组原封不动地放进新列表里,所以结果自然还是原始的元组列表啦。

要实现提取每个元组首个字符串元素的需求,有两种简洁的写法:

方法一:通过索引取值

直接在列表推导式里指定取元组的第0位元素(Python索引从0开始):

data2 = [('group_l1s', 1.2209625244140625), ('group_l2s', 2.5210751851399777), ('group_l2n', 6.081540250778204)]
sorted_list = [item[0] for item in data2]
print(sorted_list)  # 输出: ['group_l1s','group_l2s','group_l2n']

这里的item指代data2中的每一个元组,item[0]就是获取每个元组的第一个元素。

方法二:元组解包(可读性更佳)

利用Python的元组解包特性,直接把每个元组的元素拆分出来,用占位符_表示我们不需要的第二个元素:

data2 = [('group_l1s', 1.2209625244140625), ('group_l2s', 2.5210751851399777), ('group_l2n', 6.081540250778204)]
sorted_list = [group for group, _ in data2]
print(sorted_list)  # 输出: ['group_l1s','group_l2s','group_l2n']

这种写法更直观,一眼就能看出我们要提取的是元组的第一个元素,第二个元素被忽略。

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

火山引擎 最新活动