Comments by "Lawrence D’Oliveiro" (@lawrencedoliveiro9104) on "Tech With Tim"
channel.
-
26
-
5
-
5
-
4
-
4
-
4
-
2
-
2
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
How about a recursive generator? Here’s one that yields all permutations of a given sequence:
def permute(seq) :
"generator which yields successive permutations of the elements of seq."
if len(seq) == 0 :
yield ()
else :
for i in range(0, len(seq)) :
for rest in permute(seq[:i] + seq[i + 1:]) :
yield (seq[i],) + rest
♯end for
♯end for
♯end if
♯end permute
Example use:
>>> list(permute(("pears", "oranges", "feijoas")))
[('pears', 'oranges', 'feijoas'), ('pears', 'feijoas', 'oranges'), ('oranges', 'pears', 'feijoas'), ('oranges', 'feijoas', 'pears'), ('feijoas', 'pears', 'oranges'), ('feijoas', 'oranges', 'pears')]
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1