Iterator 2

[중급반] Step 4. 제너레이터와 이터레이터: 메모리 효율의 극대화

Step 4에서는 파이썬이 대용량 데이터를 다루는 핵심 기법인 이터레이션 프로토콜을 배웁니다. 수백만 개의 데이터를 메모리에 한 번에 올리지 않고도 효율적으로 처리할 수 있는 **제너레이터(Generator)**와 **이터레이터(Iterator)**의 원리를 파헤쳐 봅시다.1. 🔄 이터러블(Iterable)과 이터레이터(Iterator)파이썬에서 for 루프를 돌릴 수 있는 객체는 모두 이터러블입니다. 하지만 그 내부 동작은 두 단계로 나뉩니다.Iterable: __iter__ 메서드를 가진 객체 (예: 리스트, 튜플, 문자열).Iterator: __next__ 메서드를 가진 객체로, 데이터의 다음 값을 하나씩 반환하며 상태를 유지합니다.Python nums = [1, 2, 3]it = iter(num..

개발/Python 2025.12.26

[ES6][중급반] Step 3. 현대적 이터레이션: Map, Set, 그리고 이터러블 프로토콜

1. Map (맵): 객체의 한계를 넘는 키-값 저장소일반 객체({})는 키로 문자열이나 심볼만 사용할 수 있지만, Map은 어떤 값(함수, 객체 포함)도 키가 될 수 있습니다.데이터 순서 보장: 삽입된 순서대로 요소를 유지합니다.크기 확인 용이: .size 프로퍼티로 데이터 개수를 즉시 알 수 있습니다.성능: 잦은 추가와 제거가 일어나는 시나리오에서 일반 객체보다 성능이 뛰어납니다.JavaScript const myMap = new Map();const keyObj = { id: 1 };const keyFunc = () => {};myMap.set(keyObj, '객체를 키로 사용');myMap.set(keyFunc, '함수를 키로 사용');myMap.set('name', 'Gemini');consol..

개발/Javascript 2025.12.24
반응형