【发布时间】:2021-05-31 19:11:59
【问题描述】:
我有 3 个列表
X1 = ['A','B','C','D']
X2 = ['A','1','2','3']
X3 = ['1','W','X','Y','Z']
我通过迭代来创建列表的所有组合
ALL = [X1,X2,X3]
a = list(itertools.product(*ALL))
输出:
[('A', 'A', '1'), ('A', 'A', 'W'), ('A', 'A', 'X'), ('A', 'A', 'Y'), ('A', 'A', 'Z'), ('A', '1', '1'), ('A', '1', 'W'), ('A', '1', 'X'), ('A', '1', 'Y').......
除了循环列表中的所有元素之外,我可以有另一种方法来擦除列表中的所有重复元素吗?我想要的应该只是
('A', '1', 'W'), ('A', '1', 'X'), ('A', '1', 'Y')....... and so on
**提出的新问题**
如果这 3 个列表更改为
X1 = ['A_1','B','C','D']
X2 = ['A_2','1_1','2','3']
X3 = ['1_1','W','X','Y','Z']
因为A_1, A_2属于同一个组,我还是想把它们当作重复元素。那么我应该怎么做才能像上面的例子一样删除所有这些重复的元素呢?
【问题讨论】:
-
为什么
('A', 'A', '1')退出,而('A', '1', '1')进入? -
@schwobaseggl 哦,对不起('A','1','1')也出来了。我没有注意到这一点。谢谢!
-
@Sandertjuhh 感谢您的建议,但我没有删除重复列表(实际上根本没有重复列表)。我想要的是删除带有重复元素的特定列表。
标签: python list duplicates combinations nested-lists