Dites que j'ai un itérateur.
Après l'itération de quelques éléments de l'itérateur, je devrai me débarrasser de ces premiers éléments et retourner un itérateur (de préférence le même) avec le reste des items. Comment je vais? En outre, les itérateurs prennent-ils en charge les opérations de suppression ou de pop (comme les listes)?Besoin d'obtenir le reste d'un itérateur en python
2
A
Répondre
6
Oui, il suffit d'utiliser iter.next()
Exemple
iter = xrange(3).__iter__()
iter.next() # this pops 0
for i in iter:
print i
1
2
Vous pouvez crèveront l'avant d'un iterator avec .next(). Vous ne pouvez pas faire d'autres opérations fantaisistes.
6
La fonction itertools.dropwhile()
pourrait être utile aussi:
dropwhile(lambda x: x<5, xrange(10))
+0
+1 belle réponse – ThomasH
Questions connexes
- 1. Besoin d'ajouter un élément au début d'un itérateur en python
- 2. Test d'un itérateur vide dans un Python pour ... boucle
- 3. Besoin d'aide pour convertir le code de C# en Python
- 4. Itérateur générique
- 5. Comment un threading.Thread cède le reste de son quantum en Python?
- 6. list itérateur non incrémentable
- 7. Rotation d'image en utilisant jQuery mais l'ancrage reste le même
- 8. Problème itérateur cpp
- 9. comment initialiser un itérateur
- 10. Rails Daemon reste en mode développement
- 11. CSS Le lien du menu reste surligné
- 12. Utilitaire Application infoButton reste sur le dessus
- 13. Comment enlever le reste d'une chaîne
- 14. Java itérateur de travail parallèle?
- 15. Besoin d'aide pour refactoriser mon script python
- 16. Expression: String itérateur non déréférencable
- 17. ayant dans struts2 itérateur tag
- 18. J'ai besoin d'aide avec le traitement des événements de curseur en python + Tkinter
- 19. itérateur pour remplacer les membres de la liste en Java?
- 20. Puis-je incrémenter un itérateur en ajoutant simplement un nombre?
- 21. comment utiliser le reste math dans le modèle django?
- 22. Besoin besoin Allocatable Array en FORTRAN
- 23. Existe-t-il un moyen d'installer le module spécial scipy sans le reste de scipy?
- 24. sIFR charger avant le reste de la page?
- 25. Trouver les permutations où aucun élément ne reste en place
- 26. EXE reste dans le Gestionnaire des tâches après avoir quitté
- 27. Débutant au test de code Python, besoin d'aide!
- 28. JQuery JEditable reste en mode édition sur erreur
- 29. Comment créer un générateur répétitif en Python
- 30. Besoin d'un HTTPS capable serveur XML-RPC Python
..although vous pouvez faire quelques trucs chouettes avec 'itertools'. –
Merci. C'est ce que je voulais. – Goutham
La méthode "officielle", recommandée, dans Python 2.6 et ultérieur, est next (iter), pas iter.next() [qui continue à fonctionner dans 2.6, mais pas dans 3. *]. Avec next (x) vous pouvez fournir une valeur par défaut comme deuxième argument pour éviter d'obtenir une exception StopIteration si l'itérateur est épuisé. –