【问题标题】:How do I merge two lists? [duplicate]如何合并两个列表? [复制]
【发布时间】:2021-12-31 17:46:31
【问题描述】:

是否存在用于合并两个数组的现有函数,如下所示? 例如:

arr1 = ["a", "b", "c"]
arr2 = [1, 2, 3]

arr3 = merge(arr1, arr2)
print(arr3)

输出:[["a", 1], ["b", 2], ["c", 3]]

【问题讨论】:

  • 在 Python 中,这些被称为“列表”而不是数组。

标签: python arrays


【解决方案1】:

我是zip:

>>> arr1 = ["a", "b", "c"]
>>> arr2 = [1, 2, 3]
>>> [t for t in zip(arr1, arr2)]
[('a', 1), ('b', 2), ('c', 3)]

如果你希望每一对都是一个列表而不是一个元组:

>>> [list(t) for t in zip(arr1, arr2)]
[['a', 1], ['b', 2], ['c', 3]]

或:

>>> list(map(list, zip(arr1, arr2)))
[['a', 1], ['b', 2], ['c', 3]]

【讨论】:

  • 第一个只是list(zip(arr1, arr2)) :)
【解决方案2】:

由于 OP 要求提供列表列表而不是 tuples 列表,因此在此处发布答案以确保完整性。

虽然没有内置函数可以生成列表列表,但下面会得到你需要的东西

a=[1,2,3]
b=[5,6,7]
list(map(list, zip(a, b)))

输出

[[1, 5], [2, 6], [3, 7]]

【讨论】:

  • Samwise 以几分之差击败了我 :)
猜你喜欢
  • 1970-01-01
  • 2014-06-13
  • 1970-01-01
  • 2014-03-08
  • 1970-01-01
  • 2014-02-05
  • 2016-01-17
  • 2017-06-05
  • 1970-01-01
相关资源
最近更新 更多