34번째 줄: |
34번째 줄: |
| yield 3 | | yield 3 |
| </syntaxhighlight> | | </syntaxhighlight> |
| + | |
| + | == 출력 값이 여러 개인 경우 == |
| + | <syntaxhighlight lang="python"> |
| + | def generator(): |
| + | yield 1, 2 |
| + | </syntaxhighlight>위처럼 1개의 제너레이터에서 2개의 출력값이 나오는 경우, 다음과 같이 인덱스를 사용하여 값에 접근할 수 있다.<syntaxhighlight lang="python"> |
| + | gen = generator() |
| + | next(gen)[0] |
| + | </syntaxhighlight> |
| + | |
| + | == 응용 == |
| + | |
| + | === 제너레이터 길이 === |
| + | 제너레이터의 길이를 알아야 할 때가 있다.(인공지능 모델에 넣는다든가..) |
| + | |
| + | # 제너레이터를 리스트로 변환하여 len()함수를 이용해 체크. <code>len(list(generator))</code>이는 메모리 문제를 일으킬 수 있다. |
| + | # 제너레이터를 하나씩 읽으며 1씩 증가하며 체크... <code>sum(1 for x in generator)</code> |
| + | |
| [[분류:기초]] | | [[분류:기초]] |