python如何找到两个数组相同的数据

python如何找到两个数组相同的数据

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:3

用户关注问题

Q
如何使用Python找出两个数组中的共同元素?

我有两个数组,想找出它们之间相同的元素,有哪些方法可以实现?

A

利用集合操作找出两个数组的交集

可以将两个数组转换成集合,然后使用集合的交集操作(&)来获取它们共有的部分。例如:

array1 = [1, 2, 3, 4]
array2 = [3, 4, 5, 6]
common_elements = list(set(array1) & set(array2))
print(common_elements)  # 输出: [3, 4]
Q
有没有不使用集合的方法来找两个数组的相同数据?

我想避免使用集合,是否能用其他方法查找两个列表间的重复元素?

A

通过遍历和列表解析找出相同元素

可以使用列表解析遍历一个列表,判断元素是否存在于另一个列表中。示例如下:

array1 = [1, 2, 3, 4]
array2 = [3, 4, 5, 6]
common_elements = [item for item in array1 if item in array2]
print(common_elements)  # 输出: [3, 4]
Q
当数组中有重复元素,如何找到两个数组相同的数据?

如果数组中有重复项,如何确保找出的共同元素不重复?

A

利用集合自动去重特性处理重复元素

集合本身不包含重复值,因此使用集合交集操作自然剔除了重复元素。若希望保留重复次数,可用collections.Counter。例如:

from collections import Counter
array1 = [1, 2, 2, 3]
array2 = [2, 2, 4, 3]
common = list((Counter(array1) & Counter(array2)).elements())
print(common)  # 输出: [2, 2, 3]