Python嵌套列表扁平化实现求助:转换指定列表结构
如何将特定嵌套列表扁平化为目标结构?
问题描述
输入的嵌套列表中,每个元素是包含两个子列表的元组,需要将每个元组内的两个子列表合并为一个列表,最终得到由这些合并后的列表组成的新列表。
原生Python实现(无第三方依赖)
直接利用Python列表的拼接特性,通过列表推导式即可完成转换,这是最简洁高效的方式:
# 原始输入列表 original_list = [ ([('euw1', 12700)], [('la2', 1800)]), ([('kr', 7500), ('br1', 4700), ('jp1', 400), ('sg2', 100)], [('vn2', 1200), ('oc1', 600)]), ([('na1', 5400), ('eun1', 3900), ('la1', 2300), ('tr1', 900), ('ph2', 200)], [('tw2', 700), ('ru', 400), ('th2', 100)]) ] # 执行转换 flattened_list = [a + b for a, b in original_list] # 查看结果 print(flattened_list)
代码说明
- 遍历原列表中的每个元组,将元组内的两个子列表
a和b用+运算符拼接(Python列表支持直接相加合并)。 - 列表推导式会自动将所有合并后的列表收集为一个新列表,完全匹配目标结构。
输出结果
运行代码后得到的结果与需求完全一致:
[ [('euw1', 12700), ('la2', 1800)], [('kr', 7500), ('br1', 4700), ('jp1', 400), ('sg2', 100), ('vn2', 1200), ('oc1', 600)], [('na1', 5400), ('eun1', 3900), ('la1', 2300), ('tr1', 900), ('ph2', 200), ('tw2', 700), ('ru', 400), ('th2', 100)] ]
内容的提问来源于stack exchange,提问作者Jack
相关产品推荐
相关产品推荐

