大量数组同顺序对比取得与原数组不重复的数字
时间: 2024-02-18 07:00:13 浏览: 16
如果您有很多数组需要进行比较,并且要找到在所有数组中都出现过,但是在任何一个数组中只出现过一次的数字,那么可以使用以下代码实现:
```python
# 定义多个数组
arr1 = [1, 2, 3]
arr2 = [2, 3, 4]
arr3 = [3, 4, 5]
# 将数组存储在列表中
arrays = [arr1, arr2, arr3]
# 将所有数组中的元素合并并去重
all_nums = list(set([num for arr in arrays for num in arr]))
# 统计每个数字在所有数组中出现的次数
counts = {num: sum([1 for arr in arrays if num in arr]) for num in all_nums}
# 找到所有只出现过一次的数字
unique_nums = [num for num in counts if counts[num] == 1]
print(unique_nums)
```
这里,我们首先将所有数组存储在一个列表中,并使用列表推导式将所有数组中的元素合并到一个列表中,并去除重复项。然后,我们使用一个字典来记录每个数字在所有数组中出现的次数。最后,我们使用列表推导式找到所有只在一个数组中出现过的数字,即在字典 `counts` 中值为 1 的数字。
这样,就可以找到在所有数组中都出现过,但是在任何一个数组中只出现过一次的数字。
相关问题
大量数组同顺序对比取得与原所有数组都不重复的数字
如果您想要找到在所有数组中都不重复的数字,可以使用以下代码实现:
```python
# 定义多个数组
arr1 = [1, 2, 3]
arr2 = [2, 3, 4]
arr3 = [3, 4, 5]
# 将数组存储在列表中
arrays = [arr1, arr2, arr3]
# 将所有数字存储在一个列表中
all_nums = [num for arr in arrays for num in arr]
# 计算每个数字在所有数组中出现的次数
num_counts = {num: all_nums.count(num) for num in set(all_nums)}
# 找到所有在所有数组中都不重复的数字
unique_nums = [num for num, count in num_counts.items() if count == len(arrays)]
print(unique_nums)
```
这里,我们首先将所有数组中的数字合并到一个列表中。然后,我们使用列表推导式计算每个数字在所有数组中出现的次数,并将其存储在一个字典中。最后,我们遍历字典中的所有键值对,找到在所有数组中都不重复的数字,并将其存储在一个列表中。
请注意,由于该方法需要计算每个数字在所有数组中出现的次数,因此对于非常大的数组,计算时间可能会很长。
大量数组同顺序对比取得与原所有数组内不重复的数字
如果您想要找到在所有数组中不重复的数字,可以使用以下代码实现:
```python
# 定义多个数组
arr1 = [1, 2, 3]
arr2 = [2, 3, 4]
arr3 = [3, 4, 5]
# 将数组存储在列表中
arrays = [arr1, arr2, arr3]
# 将所有数字存储在一个列表中
all_nums = [num for arr in arrays for num in arr]
# 找到所有不重复的数字
unique_nums = [num for num in set(all_nums) if all_nums.count(num) == 1]
print(unique_nums)
```
这里,我们首先将所有数字合并到一个列表中。然后,我们使用列表推导式遍历所有数字,找到在所有数组中不重复的数字,并将其存储在一个列表中。
请注意,由于该方法需要计算所有数字,因此对于非常大的数组,计算时间可能会很长。