私は、再帰を使って与えられた文字列のすべての置換のリストを返す以下のPythonコードを持っています。私はコードの作業を理解するために最善を尽くしたが、失敗した。誰も私に以下に述べるコードの内訳を教えてもらえますか?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']