首页 > 解决方案 > 通过仅保留所有数组中存在的数字来过滤一组数组?

问题描述

我有两个充满对象 ID 的数组,我只想保留两个数组中都存在的对象的 ID。例子:

a = np.array([1, 2, 3, 2, 4, 1])
b = np.array([3, 4, 5, 6])

因此,理想的输出将是一个已搜索数组 a 和 b 的数组,并为我提供了一个仅包含两个列表中存在的对象的数组。类似于:

c = np.array([3, 4])

此数组显示 ID 3 和 ID 4 都出现在两个列表中。有没有办法做到这一点?

标签: pythonarrayslistnumpysorting

解决方案


不要使用数组,因为你想要集合:

set(a) & set(b)

如果您需要数组中的结果:

np.array(list(set(a) & set(b)))

推荐阅读