Python中按特定格式合并两个列表的实现问题
如何按指定格式合并两个列表?
我有两个列表A和B,希望将它们按照指定格式合并为一个列表。以下是当前实现、输出及期望输出:
当前实现代码
A=[0, 1] B=[[1,2],[3,4]] C=A+B print(C)
当前输出
[0, 1, [1, 2], [3, 4]]
期望输出
[[0, 1, 2], [1, 3, 4]]
解决方案
要实现期望的合并效果,需要将A中的每个元素与B中对应位置的子列表拼接,再将这些拼接后的列表组合成新列表。可以用列表推导式快速实现:
A = [0, 1] B = [[1,2], [3,4]] C = [[a] + b for a, b in zip(A, B)] print(C)
说明
zip(A, B)会把A和B中索引相同的元素配对,生成(0, [1,2])、(1, [3,4])这样的元组;- 对每一组配对,通过
[a] + b将A的元素转为单元素列表后,与B的子列表拼接,得到目标子列表; - 最终列表推导式会把所有拼接后的子列表收集成最终结果。
内容的提问来源于stack exchange,提问作者AEinstein
相关产品推荐
相关产品推荐

