Gibt es in Python eine Möglichkeit, die Reihenfolge zu ändern, in der der Ertrag von get verarbeitet wird? [Duplikat
Diese Frage hat hier bereits eine Antwort:
Erste Version von itertools.chain () 2 AntwortenWenn ich mache
def foo():
yield from range(0,10)
yield from range(10,20)
for num in foo():
print(num)
Ich erhalte eine geordnete Liste von 0 bis 19. Ohne Änderung der Eingabe der Bereichsfunktionen kann auf einfache Weise angegeben werden, dass ich eine Liste haben möchte, die lautet: 0,10,1,11,2,12 ...
Grundsätzlich möchte ich zuerst das erste Element jedes Generators. Dann möchte ich das zweite Element von jedem Generator und dann das dritte und so weiter.
Bonuspunkte: Gibt es eine Möglichkeit, dies zu ändern, sodass der zweite Generator den Rest der Ergebnisse liefert, wenn die Generatoren eine ungleiche Menge an Ergebnissen liefern, nachdem der erste abgeschlossen ist?