Je vais laisser une note sur la différence entre la notation d'inclusion du taple et le type de générateur
Tout d'abord, de la revue de la notation d'inclusion ///
inner.py
list=[]
for x in range(10):
list.append(x)
print(list)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#Si vous réécrivez ceci dans la notation d'inclusion
list2=[x for x in range(10)]
print(list2)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Ensuite, à propos de la notation d'inclusion et de la formule génératrice du sujet principal
tuple.py
#Itérateur ordinaire
def g():
for i in range(4):
yield i
g=g()
print(next(g))
print(next(g))
print(next(g))
print(next(g))
"""
0
1
2
3
"""
g=(i for i in range(4))#Cela ressemble à un taple, mais c'est un générateur
print(type(g))
print(next(g))
print(next(g))
print(next(g))
print(next(g))
"""
<class 'generator'>
0
1
2
3
"""
iterator.py
g=tuple(i for i in range(4))#Dans le cas de tuple, il faut écrire tuple avant les parenthèses
print(type(g))
print(g)
#<class 'tuple'>
#(0, 1, 2, 3)
Dans la formule du générateur, il doit être décrit dans (), alors que
Dans la notation d'inclusion de tuple, il est nécessaire d'écrire tuple avant ().
Recommended Posts