Python 将一个数组拆分为多个分支,并使用numpy将另一个数组合并为元组

Python 将一个数组拆分为多个分支,并使用numpy将另一个数组合并为元组,python,numpy,Python,Numpy,假设我有一个数组1: [ [1,2,3,4], [4,6,2,3], [6,5,4,2], [8,3,9,1], [4,4,2,2] ] 和阵列2: [5,2,3,1,1] 我想要一个元组列表,如下所示: [ ([1,2,3,4],5), ([4,6,2,3],2), ([6,5,4,2],3), ([8,3,9,1],1), ([4,4,2,2],1) ] 怎么可能只用numpy就可以做到呢?我首先考虑创建一个新列表,在数组1中的每个项目上创建一个循环,并将它们合并在一起,但我相信使用n

假设我有一个
数组1

[
[1,2,3,4],
[4,6,2,3],
[6,5,4,2],
[8,3,9,1],
[4,4,2,2]
]
阵列2

[5,2,3,1,1]
我想要一个元组列表,如下所示:

[
([1,2,3,4],5),
([4,6,2,3],2),
([6,5,4,2],3),
([8,3,9,1],1),
([4,4,2,2],1)
]

怎么可能只用numpy就可以做到呢?我首先考虑创建一个新列表,在数组1中的每个项目上创建一个循环,并将它们合并在一起,但我相信使用numpy可以更轻松地完成此操作?

如果您有numpy数组,则可以使用如下内置函数:

merged_list = [(list1[i], list2[i]) for i in range(0, len(list1))]
np.array(list(zip(array1,array2)))
但是,如果您有普通阵列,则不需要numpy来执行此操作:

>>> print(zip(array1, array2))
[([1, 2, 3, 4], 5), ([4, 6, 2, 3], 2), ([6, 5, 4, 2], 3), ([8, 3, 9, 1], 1), ([4, 4, 2, 2], 1)]

如果您有numpy阵列,您可以使用如下内置功能:

np.array(list(zip(array1,array2)))
但是,如果您有普通阵列,则不需要numpy来执行此操作:

>>> print(zip(array1, array2))
[([1, 2, 3, 4], 5), ([4, 6, 2, 3], 2), ([6, 5, 4, 2], 3), ([8, 3, 9, 1], 1), ([4, 4, 2, 2], 1)]

这些数组实际上是numpy数组还是列表?如果它们是Python列表,那么就坚持这样做,否则,为什么还要使用numpy来尝试制作一些在numpy中基本上是无用的东西呢?这些数组实际上是numpy数组还是列表?如果它们是Python列表,那么就坚持这样做,否则,为什么还要使用numpy来尝试制作一些在numpy中基本上是无用的东西呢?