itertools.cycle (). next ()?
Gut, ich war mit itertools.cycle().next()
Methode mit Python 2.6.6, aber jetzt, dass ich aktualisiert auf 3.2 habe ich gemerkt, dass itertools.cycle()
- Objekt hat keine Methode next()
.
Habe ich es zu Zyklus eine Zeichenfolge in der spin()
Methode einer Spinner
Klasse. Also, wenn wir den Zyklus der Tupel ('|', '/', '-', '\\', '|', '/', '-')
werde es drucken: |
/
-
\
, |
/
-
|
/
und so weiter...
Ich gesucht habe die release-notes von Python 3.0, 3.1 und 3.2 und habe nicht bemerkt, jede Veränderung auf diesem. Wenn diese geändert haben? Gibt es eine einfache alternative, um die gleiche Funktionalität wie vorher?
Vielen Dank im Voraus.
InformationsquelleAutor der Frage Paulo Freitas | 2011-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
iter.next()
entfernt wurde, in python 3. Verwendennext(iter)
statt. Also in deinem Beispiel ändernitertools.cycle().next()
zunext(itertools.cycle())
Es ist ein gutes Beispiel hier zusammen mit verschiedenen anderen Portierung auf python 3 Tipps. Es vergleicht auch verschiedene andere
next()
Idiome in python 2.x vs python 3.xInformationsquelleAutor der Antwort d0ugal
In Python 3.x, Iteratoren müssen nicht
it.next()
mehr. verwendennext(it)
statt, das funktioniert auch in Python 2.6 oder höher. Intern wird dieser Aufrufit.next()
in Python 2.x undit.__next__()
in Python 3.x.InformationsquelleAutor der Antwort Sven Marnach