Python: Zugriff auf iterator-Objekt in for-Schleifen

Möchte ich Schritt den loop-iterator explizit innerhalb der Schleife. Ist es ein 'schöner' Weg, dies zu tun als:

idx = iter(range(0, 10))

for i in idx:
   print i

   if i == 5:
      print "consuming %i in step %i" % (next(idx), i)

Edit: ich Wandere, wenn es gibt einen Weg, um Zugang zu den loop-iterator andere als die Definition explizit wie in meinem Beispiel.

Dank!

  • Was ist falsch mit next(idx)? Ist es nicht explizite und schön genug?
  • Nicht, wenn idx nicht bereits einen iterator (zB. eine Liste). Es ist auch sehr ungewöhnlich, die Praxis zu nehmen, die next von einem iterator, während Sie Durchlaufen ihn. Würde ich dringend empfehlen, gegen Sie.
  • Ich bin besorgt über den Kopf der Schleife; in der Regel würde man sehen, so etwas wie for i in range(0, 10) - aber dann bekomme ich keine Zugriff auf den iterator-Objekt...
  • Verwandte: stackoverflow.com/questions/4810160/...
  • auch Verwandte, und mit einer gründlicheren Erklärung, warum dies funktioniert: stackoverflow.com/a/46522452/6053327
InformationsquelleAutor MrPugh | 2011-02-13
Schreibe einen Kommentar