排列和删除元组

时间:2017-01-20 21:11:28

标签: python permutation

这是我的代码:

import itertools
def permutations(string):
    if len(string) <= 1:
      return string
    return itertools.permutations(string)

如果输入'ab',则返回[('a', 'b'), ('b', 'a')]

有什么方法可以组合元组项目,然后将元组更改为列表项,使其返回:['ab', 'ba']

3 个答案:

答案 0 :(得分:1)

字符串被视为可迭代,并由str.join组合成元组。

要将它们转换回字符串,只需在元组上使用["".join(x) for x in [('a', 'b'), ('b', 'a')]] (可以使用更长的排列):

["".join(x) for x in itertools.permutations(string)]

在你的情况下:

{{1}}

答案 1 :(得分:1)

 [a+b for a,b in itertools.permutations(string)]

答案 2 :(得分:0)

map

 map(lambda(x):''.join(x), itertools.permutations(string))