Cet article présente principalement la définition et l'utilisation simple des itérateurs Python, et analyse le concept, le principe, la création et l'utilisation des itérateurs sous forme d'exemples. Les amis dans le besoin peuvent s'y référer
Les exemples dans. cet article décrit la définition de l'itérateur Python et son utilisation simple. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
1. Qu'est-ce qu'un itérateur
L'itération, comme son nom l'indique, consiste à répéter quelque chose plusieurs fois. fois (faites-le simplement en boucle maintenant)). Un itérateur est un objet qui implémente la méthode __next__() (cette méthode ne nécessite aucun paramètre lorsqu'elle est appelée). C'est un moyen d'accéder à une séquence itérable. Habituellement, l'accès commence à partir du premier élément de la séquence jusqu'à ce qu'il se termine quand. tous les éléments ont été consultés. [Remarque] : les itérateurs ne peuvent qu'avancer mais pas reculer
[Avantages des itérateurs] :
Aucune exigence pour l'utilisation d'itérateurs Préparez tous les éléments de toute l’itération à l’avance. L'itérateur ne calcule un élément que lorsqu'il y effectue une itération, et l'élément peut ne pas exister ou être détruit avant ou après. Par conséquent, les itérateurs conviennent pour parcourir des séquences énormes, voire infinies.
2. Créez un itérateur
A Utilisez la fonction d'usine intégrée iter(iterable) pour convertir une séquence itérable en itérateur.
a=[1,2,3,4] b=(1,2,3) str='Tomwenxing' print(iter(a)) print(iter(b)) print(iter(str))
Résultat du résultat:
est appelée, l'élément ou le lancer suivant est renvoyé Objet conteneur de StopIteration& lt; objet ListIterator à 0x0000000001d6d550 & gt; Itérateur personnalisé
•L'essence des itérateurs en Python est que chaque fois que la méthode
• Depuis n'y a pas de classe "itérateur" en Python, les classes avec les deux caractéristiques suivantes peuvent être appelées classes "itérateurs":
1. Oui méthode, renvoie l'élément suivant du conteneur ou lève une exception StopIteration __next__()
qui renvoie l'itérateur lui-même
__next__()
Résultat d'exécution :
__iter__()
<__main__.Fabs objet à 0x00000000023F9278>
#斐波那契数列 class Fabs(): def __init__(self,max): self.max=max self.n,self.a,self.b=0,0,1 def __iter__(self):#定义__iter__方法 return self def __next__(self):#定义__next__方法 if self.n<self.max: tmp=self.b self.a,self.b=self.b,self.a+self.b #等价于: #t=(self.a,self.a+self.b) #self.a=t[0] #self.b=t[1] self.n+=1 return tmp raise StopIteration print(Fabs(5)) for item in Fabs(10): print(item,end=' ')
3. Méthodes d'itérateur1.iter.__next__() : renvoie le suivant élément de l'itérateur, mais lève une exception StopIteration lorsqu'il n'y a pas d'élément suivant
Résultat d'exécution :
Traceback (dernier appel le plus récent) :
Fichier "E:py3DemoHelloiterDemo.py", ligne 7, danslist=[1,2,3,4] list=iter(list) print(list.__next__()) print(list.__next__()) print(list.__next__()) print(list.__next__()) print(list.__next__())
StopIteration
12Résultat d'exécution :3
4
2.iter.__iter__() : renvoie l'objet itérateur lui-même
< objet list_iterator à 0x0000000001D6F208>
list=[1,2,3,4] list=iter(list) print(list.__iter__())
Recommandations associées :
Exemple d'utilisation de next() dans un itérateur python
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!