获得所有排列而无需替换?

时间:2014-05-01 11:25:51

标签: python computer-science permutation combinatorics

我希望获得列表的所有排列,但无需重复,无论排序如何。这很难描述,所以我举一个例子。我真的很想知道这个操作的名称,因为我一直都在使用它。另外一个在python中实现这个的简单方法真的可以帮到我。谢谢!

e.g

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

==>

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

1 个答案:

答案 0 :(得分:7)

使用itertools.combinations

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