繁体   English   中英

排列和删除元组

[英]Permutations and removing tuples

这是我的代码:

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

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

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

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

要将它们转换为字符串,只需在元组上使用str.join (将在更长的排列上起作用):

["".join(x) for x in [('a', 'b'), ('b', 'a')]]

在您的情况下:

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

map

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM