python 两个数组的交集
时间: 2023-12-24 09:46:57 浏览: 210
可以使用Python内置函数set()来实现两个数组的交集。
示例代码:
```python
a = [1, 2, 3, 4, 5, 6]
b = [4, 5, 6, 7, 8, 9]
set_a = set(a)
set_b = set(b)
intersection = set_a.intersection(set_b)
print(list(intersection))
```
输出:
```python
[4, 5, 6]
```
解析:
首先将两个数组转换成集合set类型,然后使用intersection()函数获取两个集合的交集。最后将交集转换成列表输出。
相关问题
python 两个数组的交集,数组包含重复值
可以使用Python中的set()函数和&操作符来求两个数组的交集,代码如下:
```python
a = [1, 2, 2, 3, 4]
b = [2, 2, 5, 6]
set_a = set(a)
set_b = set(b)
result = list(set_a & set_b)
print(result)
```
输出结果为:
```
[2]
```
在这个例子中,我们首先将两个数组转换为set类型,然后使用&操作符求交集,最后将结果转换为列表。由于set类型会自动去重,所以我们不需要再手动去重。
python二维数组交集并返回序号
问题是给定两个二维数组,需要找到它们的交集并返回交集中元素在两个数组中的序号。
我们可以使用嵌套循环来解决这个问题。首先,我们遍历第一个二维数组的每一个元素,在内层循环中,我们再遍历第二个二维数组的每一个元素。
当两个元素相等时,我们就找到了一个交集元素。我们可以记录该元素在两个数组中的序号,并将其保存在一个结果列表中。
以下是使用Python代码实现该算法的例子:
```python
def find_intersection(array1, array2):
result = []
for i in range(len(array1)):
for j in range(len(array2)):
if array1[i] == array2[j]:
result.append([i, j])
return result
# 测试
array1 = [[1, 2], [3, 4], [5, 6]]
array2 = [[3, 4], [7, 8], [9, 10]]
intersection = find_intersection(array1, array2)
print(intersection)
```
输出结果为:[[1, 0]]
在这个例子中,第一个二维数组是`[[1, 2], [3, 4], [5, 6]]`,第二个二维数组是`[[3, 4], [7, 8], [9, 10]]`。它们的交集是`[[3, 4]]`,在第一个数组中的序号是1,在第二个数组中的序号是0。所以最后返回结果为`[[1, 0]]`。
请注意,这只是一种解决该问题的方法,还有其他更高效的算法可以使用,但是该方法在解决问题上是有效的。
阅读全文