Python如何提取嵌套列表中元组的首个元素
实现方案
最简洁高效的实现方式是使用嵌套列表推导式,核心转换逻辑只有一行代码:
result = [[t[0] for t in inner_list] for inner_list in input_data]
完整可运行示例如下:
# 输入数据 input_data = [[('ab', 0.026412873688749918), ('dc', 0.016451082731822664), ('on', 0.014278088125928066), ('qc', 0.009752817881775656), ('mn', 0.008332886637563352), ('nt', 0.008250535392602258), ('nsw', 0.006874273287824427), ('bar', 0.005878684829852004), ('tor', 0.005741627328513831), ('wds', 0.004119216502907735)], [('nb', 0.03053649661493629), ('ns', 0.01925207174326825), ('ham', 0.016207228280183325), ('bra', 0.013390785663058102), ('nia', 0.00878166482558038), ('knxr', 0.004648856466085521), ('nwm', 0.004463444159552605), ('md', 0.004377821331080258), ('ut', 0.004165890522922745), ('va', 0.0037484060754341083)]] # 核心转换逻辑 result = [[t[0] for t in inner] for inner in input_data] # 打印验证结果 print(result)
逻辑说明
- 外层遍历输入数据的每一个内层列表
inner - 内层遍历每个内层列表中的元组
t,提取元组的第一个元素t[0]组成新的内层列表 - 最终生成的
result就是符合要求的嵌套列表结构
如果更习惯普通循环的写法,也可以用以下代码实现,逻辑完全一致:
result = [] for inner in input_data: temp = [] for t in inner: temp.append(t[0]) result.append(temp)
内容的提问来源于stack exchange,提问作者GSA
相关产品推荐
相关产品推荐

