English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

tutoriel de base Python

contrôle de flux Python

Fonctions en Python

Types de données en Python

opérations de fichiers Python

objets et classes Python

date et heure Python

connaissances avancées Python

manuel de référence Python

utilisation et exemple de la fonction iter() de Python

Python built-in functions

la fonction iter() de Python retourne un itérateur de l'objet donné.

la fonction iter() crée un objet qui peut itérer un élément à la fois.

lorsqueboucle forwhileetc.boucleces objets sont très utiles lors de la couplage.

la syntaxe de la fonction iter() est :

iter(object, sentinel)

paramètres de iter()

la fonction iter() a deux paramètres :

  • objet-doit créer un objet itérateur (peut êtresettuplesetc.)

  • sentinel (optionnel) -valeur spéciale utilisée pour représenter la fin de la séquence

retour de iter()

  • la fonction iter() retourne un objet itérateur de l'objet donné.

  • si l'objet utilisateur n'implémente pas __iter__(), __next__() ou __getitem__(), une exception TypeError est levée.

  • si le paramètre sentinel est fourni,iter() retourne un itérateur jusqu'à ce que le caractère de marque ne soit plus trouvé.

Example1:Python iter()的工作

# 元音列表
list of vowels
vowels = ['a', 'e', 'i', 'o', 'u']
vowels_iter = iter(vowels)
print(next(vowels_iter))  # 'a'
print(next(vowels_iter))  # 'e'
print(next(vowels_iter))  # 'i'
print(next(vowels_iter))  # 'o'
print(next(vowels_iter))  # 'u'

Output result

a
e
i
o
u

Example2: custom object iter()

class PrintNumber:
    def __init__(self, max):
        self.max = max
    def __iter__(self):
        self.num = 0
        return self
    def __next__(self):
        if(self.num >= self.max):
            raise StopIteration
        self.num += 1
        return self.num
print_num = PrintNumber(3)
print_num_iter = iter(print_num)
print(next(print_num_iter))  # 1
print(next(print_num_iter))  # 2
print(next(print_num_iter))  # 3
# raise StopIteration
print(next(print_num_iter))

Output result

1
2
3
StopIteration

Example3: iter() with sentinel parameter

with open('mydata.txt') as fp:
    for line in iter(fp.readline, ''):
        processLine(line)

When running the program, it will open in read modemydata.txtFile.

Then, the call iter(fp.readline, '') in the for loop reads each line of the text file until it reaches the marker character '' (empty string).

Recommended reading:Python iterator Python built-in functions