获取无重复的所有排列?

4 投票
1 回答
8016 浏览
提问于 2025-04-18 04:59

我想要得到一个列表的所有排列组合,但不想要重复的结果,不管顺序如何。这个说起来有点复杂,所以我给个例子。其实我很想知道这个操作的名字,因为我经常用到它。另外,如果能提供一个简单的方法在Python中实现这个功能,那就太好了。谢谢!

例如:

['foo', 'bar', 'la']

==>

['foo', 'bar']
['foo', 'la']
['ba', 'la']

1 个回答

13

使用 itertools.combinations

>>> import itertools
>>> list(itertools.combinations(['foo', 'bar', 'la'], 2))
[('foo', 'bar'), ('foo', 'la'), ('bar', 'la')]

撰写回答