【问题标题】:How can i merge some lists element by element如何逐个元素合并一些列表
【发布时间】:2019-04-21 14:11:05
【问题描述】:

我有 3 个列表,想通过使用 map 而不仅仅是 zip 将它们合并为一个列表。

a=[1,1,1,1]
b=[2,2,2,2]
c=[3,3,3,3]

我想获取下面的列表

f=[[1,2,3],[1,2,3],[1,2,3],[1,2,3]]

我正在使用python3,请教我怎么做?

【问题讨论】:

  • 那么,您尝试过什么?另外,假设这 3 个列表具有相同的长度是否安全?
  • 通过使用 zip(a,b,c) 我可以获得最终列表。但它不是一个列表,而且根据这个页面stackoverflow.com/questions/35503922/merging-lists-of-lists/…,我已经尝试过这样做,但我遇到了一些关于 zip 和 map 的错误。它看起来在 python3 中它们不能作为 pervius 版本工作。我是python的初学者
  • 是的,所有列表的长度都相同
  • list(map(list,zip(a,b,c)))
  • [list(i) for i in zip(a,b,c)]

标签: python-3.x list merge


【解决方案1】:

你可以用一个简单的循环来做到这一点。遍历索引并为该特定索引处的每个列表创建一个元素列表。然后将该列表附加到f

f = []
for i in range(len(a)):
    f.append([a[i], b[i], c[i]])
print(f)

【讨论】:

  • 谢谢,对,它比 map 和 zip 函数简单得多:)
猜你喜欢
  • 2015-09-02
  • 1970-01-01
  • 2017-08-09
  • 1970-01-01
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 1970-01-01
  • 2020-05-14
相关资源
最近更新 更多