python yield 생성기 기본 내용 및 피보나치 수열 실현
# yield
# ,
# , ( , ), ,
# , yield , return
# , generator.py
li = [[1], [2, 3], [4, 5,6]]
def generator(li):
for i in li:
for j in i:
yield j
>>> from generator import li, generator
>>> generator(li)
0x7f57a4eff0a0> #
>>> for i in generator(li):
... print(i)
...
1
2
3
4
5
6
# , , ,
>>> y = (i*i for i in range(5))
>>> y
at 0x7f57a4eff1a8>
>>> next(y)
0
>>> next(y)
1
>>> list(y)
[4, 9, 16]
생성기 피보나치 수열 실현
# generator.py
def fibs():
a = 0
b = 1
while True:
a, b = b, a+b
yield a
>>> from generator import fibs
>>> f = fibs()
>>> f
0x7fdb5a7c20f8>
>>> next(f)
1
>>> next(f)
1
>>> next(f)
2
>>> next(f)
3
>>> next(f)
5
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
파이썬을 사용하여 10진수를 bin, 8진수 및 16진수 형식으로 변환하는 방법은 무엇입니까?텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.