iterable : 반복 가능한 객체
list, dict, set, str, bytes, tuple, range
enumerate : 인덱스와 iterable 가능한 요소를 같이 반환 (튜플)
box = ['a','b','c','d']
box_e =enumerate(box)
for i, e in box_e:
print(i, e) # 0, 'a' 이런식으로 출력됨
iterator : 값을 차례대로 꺼낼 수 있음
- iter()로 이터레이터로 만들 수 있음
- iter : 매직메소드
- next : 이 메소드로 호출하여 iter의 객체를 하나씩 가져ㅐ올 수 있음
- StopIteration 에러 : 요소가 다 반환되면, 해당 에러가 반환됨
a = [1.2.3]
a_i = iter(a)
next(a_i) # 1
next(a_i) # 2
next(a_i) # 3
generator : iterator를 생성하는 함수
- generator에 등록된 yield 키워드 만큼 항목을 출력함
- StopIteration 에러 : yield가 모두 출력이 되는 경우
- iterable 가능한 객체에 대해서 yield from 객체 가능 (112 안 써도 됨)
def dd():
yield 1
yield 2
yield 3
OR
def dd():
a = [1,2,3]
yield from a
** 변수에 등록하고 쓰는 거임 (안 그러면 매번 첫 요소만 출력됨)
test = dd() 등
'취업 > 알고리즘이야' 카테고리의 다른 글
그리디 (0) | 2022.04.06 |
---|---|
remove 반복문 주의 (0) | 2022.04.06 |
프로그래머스 풀면서 느끼는 점 (0) | 2022.03.20 |
프로그래머스 > 스택/큐 > 프린터 (0) | 2022.03.19 |
프로그래머스 > 해시 > 완주하지 못한 선수 (0) | 2022.03.19 |