Gibt es eine ausgefeiltere Methode, dies zu tun?Weisen Sie dem Tupel die nächsten n Iterationen zu
node = next(iterable), next(iterable), next(iterable)
Gibt es eine ausgefeiltere Methode, dies zu tun?Weisen Sie dem Tupel die nächsten n Iterationen zu
node = next(iterable), next(iterable), next(iterable)
Sie können itertools.islice
verwenden, um Elemente aus einem iterierbaren Element auszuwählen. Beachten Sie, dass Iteratoren zwar iterierbar sind, aber nicht jeder Iterator ein Iterator mit einer next
(oder __next__
in Python3) Methode ist.
>>> from itertools import islice
>>> iterator = (x for x in ('a', 'b', 'c', 'd', 'e'))
>>> tuple(islice(iterator, 3))
('a', 'b', 'c')
Alternativ kann ein einfaches Verständnis:
>>> iterator = (x for x in ('a', 'b', 'c', 'd', 'e'))
>>> tuple(next(iterator) for _ in range(3))
('a', 'b', 'c')
Der Name _
hat keine besondere Bedeutung für den Interpreter (außerhalb von interaktiven Sitzungen, in denen es um das Ergebnis der zuletzt ausgeführten Anweisung speichert), wird aber bemerkt als der Name für eine Wegwerf-Variable von Python-Programmierern.