如何将三个列表合并为一个并保持相同的键

Posted

技术标签:

【中文标题】如何将三个列表合并为一个并保持相同的键【英文标题】:How to merge three list to one and keeping same key 【发布时间】:2020-01-30 01:53:57 【问题描述】:

我有 list1、list2 和 list3,我想将它们合并到一个数组中而不更改它们的键

我检查了 *** 和 python.org

list1 =[1,2,3]
list2=[4,5,6]
list3=[7,8,9]



final_expected_result =[[1,4,7],[4,5,8],[3,6,9]]

【问题讨论】:

How to merge multiple lists into one list in python?的可能重复 你所说的“合并”“保留他们的密钥”是什么意思? 否则,您可以创建第四个列表并将三个列表中的每一个添加到第四个列表中。 final_expected_result = [list1, list2, list3]? 【参考方案1】:

我认为zip 是您正在寻找的。 zip 确实返回一个可迭代对象,因此您可能希望将其转换为列表。

>>> list(zip(list1, list2, list3))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

如果您打算使用列表列表而不是元组列表将map 集成到表达式中。

>>> list(map(list, zip(list1, list2, list3)))
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

【讨论】:

压缩列表并转换回list 有什么意义?那只会将所有列表“剪切”到最短列表的长度。 zip 可能更有用,例如想for a,b,c in zip(list1, list2, list3): @MrFuppes,我完全同意。但是,我已经将我的输出与 OP 指定的输出相匹配。否则我也不会打扰map 没关系,我什至不确定他到底要什么。

以上是关于如何将三个列表合并为一个并保持相同的键的主要内容,如果未能解决你的问题,请参考以下文章

Python:如何将具有相同变量类型的多个列表合并到一个列表列表中?

python列表中字典按指定相同的键值对合并到一个列表中

将嵌套的键/值和嵌套列表合并到 json

将三个列表合并为一个列表[重复]

1.合并两个数组,并保持仍然有序。2.删除合并后数组中的重复元素

如何在c#中保持内部顺序的同时将2个排序的列表合并到一个随机列表中