【发布时间】:2020-10-04 02:26:20
【问题描述】:
我有一个列表l = ['a', 'b', 'c'],我想循环遍历l 的每个配对元素的组合(顺序无关紧要)。正在做
import itertools
l= ['a', 'b', 'c']
for pair in itertools.product(l, l):
print(pair)
产量:
('a', 'a')
('a', 'b')
('a', 'c')
('b', 'a')
('b', 'b')
('b', 'c')
('c', 'a')
('c', 'b')
('c', 'c')
但我想要类似的东西:
('a', 'a')
('a', 'b')
('a', 'c')
('b', 'b')
('b', 'c')
('c', 'c')
('a', 'b') 和 ('b', 'a') 这样的组合不会重复。
最好的方法是什么?
【问题讨论】:
-
即您只想要该对的第一个元素大于或等于第二个元素的组合?或者您只想要独特的组合,您认为
('a', 'b')等于('b', 'a')? -
是的,我想要
('a', 'b')等于('b', 'a')的唯一组合
标签: python arrays list combinations