Python中如何将两个嵌套列表的对应元素拼接合并?
解决嵌套列表对应元素拼接的问题
嘿,我懂你这种卡了好几个小时的烦躁!其实这个需求用Python的内置工具就能轻松搞定,咱们直接看解决方案:
核心思路
咱们需要分别遍历list1和list2的对应子列表,再把每个子列表里的对应元素拼接起来。这里用zip()函数就能完美实现“一一配对”的需求,它会把两个可迭代对象中位置对应的元素打包成元组,正好符合咱们的场景。
代码实现
如果你的需求是去掉list1元素里的空格(比如把= 0\n变成=0\n再拼接),可以用这段代码:
list1 = [['= 0\n', '= 1\n', '= 2\n', '= 3\n', '= 4\n'], ['= 0\n', '= 1\n', '= 2\n']] list2 = [['a', 'b', 'c', 'd', 'e'], ['a', 'b', 'c']] result = [] # 遍历每一对子列表 for sub_list1, sub_list2 in zip(list1, list2): combined_sub = [] # 遍历子列表里的对应元素 for item1, item2 in zip(sub_list1, sub_list2): # 去掉item1中的空格,再和item2拼接 cleaned_item1 = item1.replace(' ', '') combined_sub.append(item2 + cleaned_item1) result.append(combined_sub) # 输出结果就是你想要的格式 print(result)
如果不需要去掉空格,直接拼接的话,把cleaned_item1 = item1.replace(' ', '')改成直接用item1就行:
combined_sub.append(item2 + item1)
更简洁的写法(列表推导式)
如果你喜欢更紧凑的代码,用嵌套列表推导式一行就能搞定:
result = [[item2 + item1.replace(' ', '') for item1, item2 in zip(sub1, sub2)] for sub1, sub2 in zip(list1, list2)]
这段代码和上面的循环逻辑完全一样,只是写法更简洁~
内容的提问来源于stack exchange,提问作者meow
相关产品推荐
相关产品推荐

