我想将两个二维数组组合成一个 NX2 数组,但我不知道我应该在 python 中使用什么命令。例如,a = [1.2.3] b = [4,5,6]
我想要一个新数组,其中 a 中的元素作为 x 坐标,b 作为 y 坐标,c = [(1,4)],(2,5),(3,6)]
在 python 语言中对此有任何提示吗?
我想将两个二维数组组合成一个 NX2 数组,但我不知道我应该在 python 中使用什么命令。例如,a = [1.2.3] b = [4,5,6]
我想要一个新数组,其中 a 中的元素作为 x 坐标,b 作为 y 坐标,c = [(1,4)],(2,5),(3,6)]
在 python 语言中对此有任何提示吗?
你很幸运,因为 Python 有一个内置zip
函数可以完全满足你的需求。
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> zip(a, b)
[(1, 4), (2, 5), (3, 6)]
请注意,在 Python 3 中,zip
返回的是迭代器,而不是列表,因此您必须使用list(zip(a, b))
来获取列表。
另请注意,zip
将结果的长度截断为最小列表。
例如:
>>> zip([1, 2], [3, 4, 5])
[(1, 3), (2, 4)]
您可以使用itertools.izip_longest
(或itertools.zip_longest
在 Python 3 中)解决此问题。
>>> import itertools
>>> list(itertools.izip_longest([1, 2], [3, 4, 5], fillvalue=0))
[(1, 3), (2, 4), (0, 5)]
这将使用fillvalue
来填补空白。默认情况下,fillvalue
设置为None
。