019f8fd211
git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15c
git-subtree-split:24f5a642af
Change-Id: I6105b3762b79126b3488359c95978cadb3efa789
13 lines
324 B
Python
13 lines
324 B
Python
def char_and_rest(i, xs):
|
|
return xs[i], xs[:i] + xs[i+1:]
|
|
|
|
# perms :: String -> [String]
|
|
def perms(xs):
|
|
if len(xs) == 1:
|
|
return [xs]
|
|
result = []
|
|
for c, rest in [char_and_rest(i, xs) for i in range(len(xs))]:
|
|
result += [c + perm for perm in perms(rest)]
|
|
return result
|
|
|
|
print(perms("cat"))
|