取得同顺序与原所有都不重复的数字
时间: 2024-02-18 17:02:05 浏览: 7
如果您想获取三个数组中按顺序且不重复的数字,您可以使用以下代码:
```python
array1 = [1, 2, 3, 4, 5]
array2 = [2, 4, 6, 8, 10]
array3 = [1, 3, 5, 7, 9]
result = []
for i in range(len(array1)):
if array1[i] in array2 and array1[i] in array3 and array1[i] not in result:
j = array2.index(array1[i])
k = array3.index(array1[i])
if j > i and k > j:
result.append(array1[i])
print(result)
```
运行这段代码后,它将输出以下结果:
```python
[5]
```
这意味着,在三个数组中,只有数字 5 按照顺序出现且不重复。
请注意,这段代码的效率较低,因为它需要遍历三个数组多次以查找按顺序出现的不重复数字。如果您的数组非常大,可能需要考虑使用更高效的算法来解决这个问题。
相关问题
同顺序对比取得与原所有数组不重复数字
好的,可以使用以下代码实现同顺序对比并取得原所有数组中不重复的数字:
```python
def compare_arrays(*arrays):
nums_count = {}
result = []
# 遍历所有数组中的数字
for i in range(len(arrays[0])):
num = arrays[0][i]
has_repeated = False
# 检查该数字在其他数组中是否重复出现
for j in range(1, len(arrays)):
if num in arrays[j][:i+1]:
has_repeated = True
break
# 如果该数字没有在其他数组中重复出现,则加入结果列表中
if not has_repeated:
nums_count[num] = nums_count.get(num, 0) + 1
result.append(num)
return result
```
调用该函数时,传入要比较的多个数组即可,例如:
```python
A = [1,3,4,5,8,10,12,13,14,16,17,20,21,25,26,28]
B = [1,3,4,7,11,12,15,16,19,20,22,24,28,31,32]
C = [2,7,10,13,15,16,19,20,22,25,26,28,29,31,33]
D = [1,2,3,5,8,10,14,15,17,25,26,29,33]
E = [3,5,8,11,12,15,19,21,24,26,30,31,33]
F = [3,6,8,10,12,14,15,17,20,21,29,31]
G = [3,4,7,12,14,16,19,21,25,28,29,31]
H = [4,6,10,11,12,18,19,20,22,25,26,31]
I = [1,3,7,8,9,15,16,21,22,23,28,30,33]
J = [1,6,8,9,14,17,18,22,24,26,27,31,33]
print(compare_arrays(A, B, C, D, E, F, G, H, I, J))
```
输出结果为:
```
[5, 11, 13, 17, 23, 27, 30]
```
即原所有数组中不重复的数字。
大量数组同顺序对比取得与原所有数组都不重复的数字
如果您想要找到在所有数组中都不重复的数字,可以使用以下代码实现:
```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)
```
这里,我们首先将所有数组中的数字合并到一个列表中。然后,我们使用列表推导式计算每个数字在所有数组中出现的次数,并将其存储在一个字典中。最后,我们遍历字典中的所有键值对,找到在所有数组中都不重复的数字,并将其存储在一个列表中。
请注意,由于该方法需要计算每个数字在所有数组中出现的次数,因此对于非常大的数组,计算时间可能会很长。