两个数组取补集python
时间: 2024-01-25 19:04:16 浏览: 36
在Python中,可以使用集合(set)来实现两个数组的补集操作。以下是一个示例代码:
```python
# 输入两个数组
array1 = [1, 2, 3, 4, 5]
array2 = [4, 5, 6, 7, 8]
# 将数组转换为集合
set1 = set(array1)
set2 = set(array2)
# 计算两个集合的补集
complement1 = set1 - set2
complement2 = set2 - set1
# 将补集转换回数组
complement_array1 = list(complement1)
complement_array2 = list(complement2)
print("Array1的补集:", complement_array1)
print("Array2的补集:", complement_array2)
```
运行上述代码,你将得到两个数组的补集结果。其中`complement_array1`为`[1, 2, 3]`,`complement_array2`为`[6, 7, 8]`。这表示在第一个数组中存在但在第二个数组中不存在的元素,以及在第二个数组中存在但在第一个数组中不存在的元素。
相关问题
两个数组不重复交集python
可以使用set的交集操作来实现两个数组的不重复交集,代码如下:
```python
a = [1, 2, 3, 4, 5]
b = [2, 4, 6, 8, 10]
set_a = set(a)
set_b = set(b)
intersection = set_a.intersection(set_b)
print(list(intersection))
```
输出为 `[2, 4]`,即两个数组的不重复交集。
python取两个数组的并集
可以使用 set 的 intersection 方法来取得两个数组的交集。示例如下:
```python
arr1 = [1, 2, 3, 4, 5]
arr2 = [4, 5, 6, 7, 8]
intersect = set(arr1).intersection(arr2)
print(list(intersect)) # 输出 [4, 5]
```
如果想要求并集,可以使用 set 的 union 方法,示例如下:
```python
arr1 = [1, 2, 3, 4, 5]
arr2 = [4, 5, 6, 7, 8]
union = set(arr1).union(arr2)
print(list(union)) # 输出 [1, 2, 3, 4, 5, 6, 7, 8]
```
也可以直接使用 | 运算符来求并集,示例如下:
```python
arr1 = [1, 2, 3, 4, 5]
arr2 = [4, 5, 6, 7, 8]
union = set(arr1) | set(arr2)
print(list(union)) # 输出 [1, 2, 3, 4, 5, 6, 7, 8]
```
注意,求并集和交集时,先将数组转化为 set 类型,否则可能会出现重复元素。