【发布时间】:2017-01-18 15:16:28
【问题描述】:
我有以下 Python 代码,它使用递归返回给定字符串的所有排列的列表。我尽我所能理解代码的工作,但我没有这样做。谁能给我下面提到的代码的细分?
def permute(s):
out = []
# Base Case
if len(s) == 1:
out = [s]
else:
# For every letter in string
for i, let in enumerate(s):
for perm in permute(s[:i] + s[i+1:]):
# Add it to output
out += [let + perm]
return out
permute('abc')
['abc', 'acb', 'bac', 'bca', 'cab', 'cba']
【问题讨论】:
标签: python recursion data-structures permutation