Ich habe mich gefragt, was passieren würde, wenn ich den Generator an die in Python integrierte Funktion enumerate () übergeben würde, also habe ich experimentiert.

Hauptsächlich persönliche Notizen:

Ich habe mich gefragt, ob Pythons integrierte Funktion "Aufzählung" auch Generatoren unterstützt, also habe ich experimentiert.

Frage

Wenn ich einen Generator an enumerate () übergebe, wird er sofort aufgelistet und erweitert? (Einschließlich der Bestätigung, dass Sie es überhaupt abgeben können)

Experiment

Bereiten Sie den folgenden Generator vor

>>> def test(value):
...   for i in range(value):
...     print(i)
...     yield i
...

Bestätigt, als Generator zu arbeiten

>>> for v in test(10):
...   print(v)
...
0  # test()Ausgabe vom Drucken in
0  #Ausgabe vom Ausdruck der for-Anweisung
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9

Versuchen Sie, den vorbereiteten Generator an "enumerate" zu übergeben

>>> for i, v in enumerate(test(10)):
...   print(i, v)
...
0      # test()Ausgabe vom Drucken in
0 0    #Ausgabe vom Ausdruck der for-Anweisung
1
1 1
2
2 2
3
3 3
4
4 4
5
5 5
6
6 6
7
7 7
8
8 8
9
9 9
>>>

Ergebnis

Recommended Posts

Ich habe mich gefragt, was passieren würde, wenn ich den Generator an die in Python integrierte Funktion enumerate () übergeben würde, also habe ich experimentiert.
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.