Je me demandais ce qui se passerait si je passais le générateur à la fonction intégrée Python enumerate (), alors j'ai expérimenté.

Notes principalement personnelles:

Je me demandais si la fonction intégrée de Python ʻenumerate` supportait également les générateurs, alors j'ai expérimenté.

Question

Si je passe un générateur à enumerate (), sera-t-il listé et développé sur place? (Y compris la confirmation que vous pouvez le remettre en premier lieu)

Expérience

Préparez le générateur suivant

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

Confirmé pour travailler en tant que générateur

>>> for v in test(10):
...   print(v)
...
0  # test()Sortie de l'impression dans
0  #Sortie de l'impression de l'instruction for
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9

Passez le générateur préparé à «énumérer»

>>> for i, v in enumerate(test(10)):
...   print(i, v)
...
0      # test()Sortie de l'impression dans
0 0    #Sortie de l'impression de l'instruction for
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
>>>

résultat

Recommended Posts

Je me demandais ce qui se passerait si je passais le générateur à la fonction intégrée Python enumerate (), alors j'ai expérimenté.
J'ai essayé d'obtenir l'index de la liste en utilisant la fonction énumérer
Dans IPython, quand j'ai essayé de voir la valeur, c'était un générateur, donc je l'ai inventé quand j'étais frustré.