I itertools nichtweiter, bis alle Iteratoren Python getan werden
So ist die Codierung recht einfach verwenden können scheint, aber ich habe Probleme beim Denken des Algorithmus läuft, einen Generator zu halten, bis alle Iterationen vollständig verarbeitet wurden.
Die Idee der Funktion 2 Iterables als Parameter wie folgt ...
(['a', 'b', 'c', 'd', 'e'], [1,2,5])
Und was sie tut, ist, diese Werte ergeben ...
a, b, b, c, c, c, c, c
Für den Fall, dass das zweite Iterable zuerst keine Elemente mehr enthält, iteriert die Funktion den verbleibenden Wert einfach einmal ...
So bleiben die übrigen Werte würden wie folgt wiederholt werden:
d, e
def iteration(letters, numbers):
times = 0
for x,y in zip(letters, numbers):
try:
for z in range(y):
yield x
except:
continue
[print(x) for x in iteration(['a', 'b', 'c', 'd'], [1,2,3])]
Schwierigkeiten Ich habe die erste StopIteration und Weiterbildung ignoriert bis zur Fertigstellung.
Nun, das ist, wo ich Probleme mit als auch mit. Ich weiß nicht, wie ich die Iteration simultan fortsetzen kann, damit a den Wert 1 erhält und b den Wert 2 erhält. – FlyingBumble
was soll mit d und e passieren? –
Wenn das iterierbare mit den Zahlen abläuft, sollten die verbleibenden iterables im ersten nur jeweils einmal zurückgegeben werden. – FlyingBumble