Wpis z mikrobloga

result = [x+[y] for x in result for y in pool]

Miraski, jak mógłbym przepisać takie comprehension na normalne pętle?
wyjąłem to działanie z funkcji itertools.product, chcę pojąć logikę tej funkcji i przenieść ją do innej aplikacji, głowię sie nad tym już długo i nie jestem w stanie nic podobnego skonstruować.

przykład zastosowania:
pools = [[1, 2, 3], ['a', 'b', 'c'], ['X',' Y', 'Z']]
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool]

z grubsza wynik wygląda tak:
[1, 'a', 'X']
[1, 'a', ' Y']
[1, 'a', 'Z']
[1, 'b', 'X']
[1, 'b', ' Y']
[1, 'b', 'Z']
...
[3, 'c', 'Z']

#programowanie #python #naukaprogramowania
  • 2