Ich möchte Iterable, Iterator und Generator beherrschen, aber ehrlich gesagt kann ich es nur irgendwie verstehen, deshalb habe ich es kurz zusammengefasst, damit es leicht vorstellbar ist.
Ein Objekt, das wiederholt verwendet werden kann. Objekte der Klassen list, dict, set und str sind iterierbar. Einfach ausgedrückt, was Sie mit dem *** für die Syntax *** verwenden können
Iterable ist eine Art von iterable (iterable ist nicht unbedingt eine iterable) Einfach gesagt, es ist wie eine *** Liste *** Gibt das aktuelle Element mit next () zurück und fährt mit dem nächsten Element fort Einfach ausgedrückt *** Nehmen Sie so etwas wie eine Liste heraus, bis sie leer ist ***
Wenn die Funktion einen [Ertragsrückgabewert] enthält, wird diese Funktion als Generatorfunktion bezeichnet. Außerdem wird die Notation der Listeneinschlüsse, die von eckigen Klammern in runde Klammern geändert wurde, als Generatorausdruck bezeichnet. Beispiel *** (i für i im Bereich (N)) *** Der Rückgabewert der Funktion oder des Ausdrucks wird als Generatoriterator bezeichnet. Einfach ausgedrückt ist es ***, der einen Iterator *** zurückgibt.
Bilddiagramm
Generatorfunktionen
def sample():
cumsum = 0
for i in range(1, 5):
cumsum += i
print(f'Zuerst hier →{cumsum}')
yield cumsum
for cumsum in generator_sample2(): #Punkt
print(f'Ertrag Minuten →{cumsum}')
***
Merkmale des Iterators 1
sample_list = [i for i in range(1, 6)]
print(f'Der Inhalt der Liste{sample_list}')
sample_iter = iter(sample_list) #iter()Machen Sie es zu einem Iterator
for i in sample_iter:
print(i)
print(f'Der Inhalt der Liste ändert sich nicht{sample_list}')
print(f'Der Iterator wird bei Verwendung leer{list(sample_iter)}')
***
Iteratorfunktion 2
sample_list = [i for i in range(1, 6)]
print(f'Der Inhalt der Liste{sample_list}')
sample_iter = iter(sample_list) #iter()Machen Sie es zu einem Iterator
print(f'So etwas wie eine Liste{sample_iter}') #Ich benutze es hier
print(f'Kann als Liste angesehen werden{list(sample_iter)}')
print(f'Der Iterator wird bei Verwendung leer{list(sample_iter)}')
***
***
** Nachtrag **
@ Shiracamus Vielen Dank für den Hinweis.