Python Iterable & Iterator

Python 개발할때 알아두면 좋은 iterable & iterator 개념 5가지


  1. Iterable은 멤버를 하나씩 반환할 수 있는 객체입니다. 파이썬에서는 리스트, 튜플, 문자열 등이 iterable 객체입니다. Iterable 객체는 반복문(for loop)에 사용될 수 있어 데이터 처리가 용이합니다. Iterator는 next() 메소드를 사용해 데이터 컬렉션 내의 다음 요소에 접근할 수 있는 객체입니다. Iterable 객체를 통해 Iterator를 생성할 수 있으며, 이를 통해 컬렉션의 요소를 순회합니다.

  2. Iterator 프로토콜은 객체가 iterator로 작동하기 위해 필요한 두 가지 메소드, __iter__()__next__()를 정의합니다. __iter__()는 iterator 자기 자신을 반환하고, __next__()는 컬렉션의 다음 요소를 반환합니다.

  3. Iterator의 끝에 도달했을 때, __next__() 메소드는 StopIteration 예외를 발생시킵니다. for 루프와 같은 반복 구조는 이 예외를 자동으로 처리하여 반복을 종료합니다

  4. Iterator는 Lazy Evaluation을 사용합니다. 즉, 값이 필요할 때까지 계산을 미루는 방식이기 때문에 메모리 사용을 최적화하고, 큰 데이터 컬렉션을 효율적으로 처리할 수 있습니다.

  5. Iterator는 재사용이 불가능합니다. 모든 요소를 순회하고 나서 다시 next() 메소드를 호출하면 StopIteration 예외가 발생합니다. 만약 모든 요소를 순회한 후에 재사용하고 싶다면 iterator를 초기화해야 합니다..


실제로 iterator는 파일 입출력, 데이터베이스 결과 처리 등에서 자주 사용됩니다. 따라서 개념과 작동 원리에 대해서 상세하고 알고 있으면 코드를 더욱 빠르게 이해하고, 서비스를 더욱 비용 효율적으로 만들 수 있습니다.


https://brunch.co.kr/@growthminder/135

Python Iterable & Iterator

Brunch Story

Python Iterable & Iterator

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 3월 20일 오후 5:05

댓글 0

    함께 읽은 게시물


    ‘똑부(똑똑하고 부지런하기)보다 똑게(똑똑하지만 게으른) 리더가 되라.’ 리더십 코칭에서 빠지지 않는 훈수다. 현장 리더들의 말을 들어보면 실행이 쉽지 않다.

    ... 더 보기

    [김성회의 고사성어 리더십] `똑게 리더십` 3가지 법칙 - 매일경제

    매일경제

    [김성회의 고사성어 리더십] `똑게 리더십` 3가지 법칙 - 매일경제

     • 

    저장 4 • 조회 731


    개발자는 개발만 잘하면 될까

    최근에 친구가 추천해준 데일 카네기의 인간관계론을 읽던 중 고액 연봉을 받는 엔지니어들의 특징에 대한 흥미로운 내용이 있었다.

    ... 더 보기

     • 

    저장 14 • 조회 2,660


    서버엔지니어의 시대적 고민

    ... 더 보기

    훌륭한 데이터 분석가란 어떤 사람인가?

    ‘훌륭한 데이터 분석가란 어떤 사람인가?’에 대해

    ... 더 보기

    < 쿠팡의 창업자를 직접 보며 배운 것: 리더의 크기가 전부다 >

    1

    ... 더 보기

     • 

    댓글 1 • 저장 22 • 조회 1,723