Lorsque j'utilise les éléments suivants:Utilisation de la fonction iter dans la fonction suivante
s = 'hello'
for i in range(0,len(s)):
print next(iter(s))
Le code qu'afficher h
cinq fois. Mais quand:
s = 'hello'
s_iterable = iter(s)
for i in range(0,len(s)):
print next(s_iterable)
Toutes les lettres de hello
sont imprimées.
Si dans les deux cas iter(s)
et s_iterable
sont des objets d'itération, pourquoi me donnent-ils des résultats différents?
'pour index dans la plage (len (n'importe quoi)):' est une erreur la plupart du temps --- Python fera tout ce travail pour vous. Votre boucle pourrait être aussi simple que 'pour char in string: print char'. Voir "Loop Like a Native" de Ned Batchelder (http://nedbatchelder.com/text/iter.html) "(30 minutes [vidéo de PyCon US 2013] (https://www.youtube.com/watch? v = EnSu9hHGq5o)) pour des moyens faciles ("Pythonic") de gérer de nombreux cas comme celui-ci. –