Junior — Middle
Milliseid meetodeid tead Pythonis generatorite loomiseks?
sobes.tech AI
Vastus AI-lt
Pythonis generatoriai gali būti kuriami dviem pagrindiniais būdais:
- Naudojant raktinę žodį
yieldfunkcijoje — funkcija suyieldgrąžina generatorių, kurį galima iteruoti.
def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1
for number in count_up_to(5):
print(number)
- Generatorių išraiškos — panašios į sąrašų išraiškas, bet grąžina generatorių vietoj sąrašo.
squares = (x*x for x in range(5))
for square in squares:
print(square)
Abiem būdais galima lėtai generuoti sekas, taupant atmintį.