这是我的代码:
import itertools
def permutations(string):
if len(string) <= 1:
return string
return itertools.permutations(string)
如果输入'ab'
,则返回[('a', 'b'), ('b', 'a')]
有什么方法可以组合元组项目,然后将元组更改为列表项,使其返回:['ab', 'ba']
?
答案 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))