我有两个数组,我试图返回一个新数组,它等于我原来两个数组的交集。两个原始数组的长度应该相同。例如,如果我有:
arr1 = np.array([(255, 255, 255), (255, 255, 255)])
arr2 = np.array([(255, 255, 255), (255, 255, 255)])
我应该得到:
intersectedArr = ([(255, 255, 255), (255, 255, 255])
但是,如果我有:
arr1 = np.array([(100, 100, 100), (255, 255, 255)])
arr2 = np.array([(255, 255, 255), (255, 255, 255)])
我应该得到
([(255, 255, 255)])
到目前为止,我尝试过:
intersectedArr = np.intersect1d(arr1, arr2)
但这将返回[255]
,而不是预期的([(255, 255, 255)])
有人能帮忙吗?提前谢谢!在
不确定您的阵列会有多大,但如果它们保持相当小,这可能会起作用:
如果您想保留重复项,例如在示例中,可以使用列表理解:
产生:
^{pr2}$如果您希望列表(集合)之间的组合是唯一的:
产生:
干杯!在
一个
numpy
答案怎么样?在第二个例子
^{pr2}$相关问题 更多 >
编程相关推荐