多个数组同顺序对比取得所有原组合中不同的数字
时间: 2024-02-16 10:00:41 浏览: 77
如果你想要比较多个数组中的原组合,找出其中不同的数字,可以使用以下 Python 代码:
```python
from collections import Counter
# 定义多个数组
array1 = [1, 2, 3, 4, 5]
array2 = [2, 4, 6, 8, 10]
array3 = [1, 3, 5, 7, 9]
# 找出所有原组合中不同的数字
all_numbers = array1 + array2 + array3
counts = Counter(all_numbers)
unique_numbers = [number for number, count in counts.items() if count == 1]
# 输出结果
print(unique_numbers)
```
这段代码的基本思路如下:
1. 将多个数组合并为一个列表 all_numbers。
2. 使用 collections 模块中的 Counter 函数统计每个数字在列表 all_numbers 中出现的次数。
3. 遍历所有数字和它们在列表中出现的次数,将出现次数为 1 的数字添加到列表 unique_numbers 中。
4. 输出列表 unique_numbers,即为所有原组合中不同的数字。
需要注意的是,这段代码只能找出所有原组合中不同的数字,而不能找出所有原组合中的数字。如果你想要找出所有原组合中的数字,可以使用以下代码:
```python
from itertools import product
# 定义多个数组
array1 = [1, 2, 3, 4, 5]
array2 = [2, 4, 6, 8, 10]
array3 = [1, 3, 5, 7, 9]
# 找出所有原组合中的数字
all_combinations = product(array1, array2, array3)
all_numbers = set(number for combination in all_combinations for number in combination)
# 输出结果
print(all_numbers)
```
这段代码使用 itertools 模块中的 product 函数来生成所有原组合中的数字,然后使用 set 函数将其转换为集合,从而去除重复的数字。
阅读全文