Ich bekomme desöfteren einen MemoryError beim Nutzen der "itertools.product"-Funktion.
In Anahme das die Funktion tatsächlich wie in der Doku aussieht:
Code: Alles auswählen
def product(*args, **kwds):
pools = map(tuple, args) * kwds.get('repeat', 1)
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool]
for prod in result:
yield tuple(prod)
Meine Frage ist jetzt: Warum wird hier "result" kein Generatorausdruck zugewiesen, gibt es dafür irgendeinen bestimmten Grund?