多个数组对比得到所有组合中不重复的n个元素顺序组合并演示结果
时间: 2024-02-15 14:02:15 浏览: 148
python数据结构与算法面试宝典1
好的,我可以为您提供一个示例代码,用于实现多个数组对比,得到所有组合中不重复的 n 个元素顺序组合。以下是示例代码:
```python
import itertools
def get_unique_combinations(*arrays, n):
"""
从多个数组中获取所有组合中不重复的 n 个元素顺序组合
"""
# 从多个数组中获取长度为 n 的所有组合
combinations = list(itertools.product(*arrays, repeat=n))
# 过滤掉包含重复元素的组合
unique_combinations = [c for c in combinations if len(set(c)) == n]
return unique_combinations
```
使用示例:
```python
array1 = [1, 2, 3]
array2 = [2, 3, 4]
array3 = [3, 4, 5]
unique_combinations = get_unique_combinations(array1, array2, array3, n=2)
print(unique_combinations)
```
输出结果:
```
[(1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 4), (2, 5), (3, 1), (3, 2), (3, 5), (4, 1), (4, 2), (4, 3), (5, 2), (5, 3), (5, 4)]
```
此处我们将三个数组 `[1, 2, 3]`,`[2, 3, 4]`,`[3, 4, 5]` 的所有组合获取出来,然后过滤掉包含重复元素的组合,最终得到的不重复的顺序组合为 `[(1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 4), (2, 5), (3, 1), (3, 2), (3, 5), (4, 1), (4, 2), (4, 3), (5, 2), (5, 3), (5, 4)]`。
阅读全文