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

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

我检查了 stackoverflow 和 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]]

【问题讨论】:

  • 你所说的“合并”“保留他们的密钥”是什么意思?
  • 否则,您可以创建第四个列表并将三个列表中的每一个添加到第四个列表中。
  • final_expected_result = [list1, list2, list3]?

标签: python-3.x


【解决方案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
  • 没关系,我什至不确定他到底要什么。
猜你喜欢
  • 2019-03-23
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
相关资源
最近更新 更多