[python] iterable & sequence

J·2021년 1월 10일
0

iterable

자신의 멤버를 한 번에 하나씩 리턴할 수 있는 객체입니다. list, str, tuple, dict 등이 여기에 속합니다.

iterator

  • 값을 차례대로 꺼낼 수 있는 객체
  • iterable한 객체를 내장함수 또는 iterable객체의 메소드로 iterator 객체를 생성할 수 있다.
    Example
>>> a = [1, 2, 3]
>>> a_iter = iter(a)
>>> type(a_iter)
<class 'list_iterator'>

python 내장함수 iter

  • iterator 객체를 반환한다.

  • 첫번째 argument만 존재할 경우 첫번째 argument는 iteration protocol을 지원하는 collection object이거나 sequence protocol을 지원해야한다. 그렇지 않다면 TypeError를 raise한다.

  • 두번째 argument(sentinel)까지 존재하는 경우에는 첫번째 argument는 callable한 객체여야 한다. 이 경우 생성되는 iterator는 object를 argument없이 호출하고, 이 값을 반환한다. 호출된 객체의 값이 sentinel과 똑같다면 StopIteration이 raise된다.

sequence

int 타입 인덱스를 통해, 원소에 접근할 수 있는 iterable 입니다. iterable의 하위 카테고리라고 생각하시면 됩니다. list, str, tuple이 여기 속합니다. dictionary는 다양한 타입을 통해 원소에 접근할 수 있기 때문에 sequence에 속하지 않는다.

unpacking

하나의 값을 변수 여러개에 저장

출처

  1. https://programmers.co.kr/learn/courses/4008/lessons/13171

  2. https://dojang.io/mod/page/view.php?id=2408

  3. https://docs.python.org/3/library/functions.html#iter

profile
I'm interested in processing video&images with deeplearning and solving problem in our lives.

0개의 댓글