如何在python中显示所有排列?

时间:2013-09-26 04:08:39

标签: python algorithm

我希望所有结果如下:

'abc'的排列:'','a','b','c','ab','ba','ac','ca','bc','cb','abc ','acb','bac','bca','cab','cba'

感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

from itertools import chain, permutations

["".join(perm) for perm in chain.from_iterable(permutations("abc", n) for n in range(4))]
#>>> ['', 'a', 'b', 'c', 'ab', 'ac', 'ba', 'bc', 'ca', 'cb', 'abc', 'acb', 'bac', 'bca', 'cab', 'cba']

permutations("abc", n)提供长度为n的所有排列,我从n获取所有0...3,将它们链接在一起,然后"".join每个项目。