查找可能的所有置换串,但所有可能的长度
获得简单的字符串排列很容易,但是如果您想要不同的长度排列,该怎么办 例如:
def permutations(string):
if len(string) == 1:
return [string]
else:
perms = []
for i in range(len(string)):
for perm in permutations(string[:i] + string[i+1:]):
perms.append(string[i] + perm)
return perms
permutations('abc')
返回['abc','acb','bac','bca','cab','cba'],
但我想要 ['abc','acb','bac','bca','cab','cba','ab','ba','bc','bc','cb','ca'','ca','ac','' a','b','c']
我如何获得额外的安排???
getting simple permutations of a string is easy but how do you do if you want different length permutations
For eg:
def permutations(string):
if len(string) == 1:
return [string]
else:
perms = []
for i in range(len(string)):
for perm in permutations(string[:i] + string[i+1:]):
perms.append(string[i] + perm)
return perms
permutations('abc')
returns ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']
but i want
['abc', 'acb', 'bac', 'bca', 'cab', 'cba','ab','ba','bc','cb','ca','ac','a','b','c']
How do i get that extra arrangements????
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该使用Itertools
输出的排列:
you should use permutations from itertools
output:
仅添加了一行:
输出:
With just one line added:
Output: