【发布时间】: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 中,这些被称为“列表”而不是数组。
是否存在用于合并两个数组的现有函数,如下所示? 例如:
arr1 = ["a", "b", "c"]
arr2 = [1, 2, 3]
arr3 = merge(arr1, arr2)
print(arr3)
输出:[["a", 1], ["b", 2], ["c", 3]]
【问题讨论】:
我是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)) :)
由于 OP 要求提供列表列表而不是 tuples 列表,因此在此处发布答案以确保完整性。
虽然没有内置函数可以生成列表列表,但下面会得到你需要的东西
a=[1,2,3]
b=[5,6,7]
list(map(list, zip(a, b)))
输出
[[1, 5], [2, 6], [3, 7]]
【讨论】: