如何将两个Python嵌套列表合并为单个嵌套列表?
如何合并两个嵌套列表为一个单层嵌套列表?
嘿,我懂你的问题——你用append()的时候,其实是把整个list1和list2当成单个元素添加到list_combine里了,所以才会形成更深的嵌套结构。别担心,这里有几种简单可行的方法帮你实现想要的效果:
方法1:直接用列表加法(最直观)
Python的列表支持直接用+运算符合并,这是最省事的方式:
list1 = [['T123', 'Tom', '1', 1], ['S222', 'Alice', '3', 2]] list2 = [['T098', 'Jane', '2', 0], ['T432', 'Mandy', "5", 0]] list_combine = list1 + list2 print(list_combine)
运行后输出就是你期望的结果:
[['T123', 'Tom', '1', 1], ['S222', 'Alice','3', 2], ['T098', 'Jane', '2', 0], ['T432', 'Mandy', "5", 0]]
方法2:使用extend()方法(适合已有列表的扩展)
如果你已经初始化了list_combine,想要在它的基础上添加元素,extend()会把另一个列表的所有子元素逐个加进去,不会产生额外嵌套:
list1 = [['T123', 'Tom', '1', 1], ['S222', 'Alice', '3', 2]] list2 = [['T098', 'Jane', '2', 0], ['T432', 'Mandy', "5", 0]] list_combine = [] list_combine.extend(list1) list_combine.extend(list2) print(list_combine)
方法3:列表推导式(适合复杂场景)
如果之后你需要处理更多嵌套列表,或者要对元素做过滤、转换,列表推导式会更灵活:
list1 = [['T123', 'Tom', '1', 1], ['S222', 'Alice', '3', 2]] list2 = [['T098', 'Jane', '2', 0], ['T432', 'Mandy', "5", 0]] list_combine = [sub_list for lst in [list1, list2] for sub_list in lst] print(list_combine)
它会遍历包含list1和list2的外层列表,把每个子列表都提取出来,最终合并成一个单层嵌套列表。
总的来说,+运算符和extend()是日常最常用的两种方法,简单直接;列表推导式则适合有额外处理需求的场景。
内容的提问来源于stack exchange,提问作者Keroberos
相关产品推荐
相关产品推荐

