ABOUT ME

내가 사랑하는 사람들을 위한 작은 준비..

Today
Yesterday
Total
  • <PYTHON>이더레이터?? 제너레이터??
    Flower in my dev/Python 2015. 4. 23. 11:44
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    >>> a = [0,1,2,3,4,5,6,7,8,9]
    >>> b = iter(a)
    >>> b.next()
    0
    >>> b.next()
    1
    >>> b.next()
    2
    >>> b.next()
    3
    >>> b.next()
    4
    >>> b.next()
    5
    >>> b.next()
    6
    >>> b.next()
    7
    >>> b.next()
    8
    >>> b.next()
    9
    >>> b.next()
    Traceback (most recent call last):
      File "<stdin>", line 1in <module>
    StopIteration
    cs

     

    이더레이터..

     

    리스트 ==  [iter()]  ==> 이더레이터

     

    이더레이터.next() : 순차적으로 값을 반환

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    >>> def generateInt(n):
    ...     while n < 10:
    ...             yield n
    ...             n += 1
    ...
    >>> g = generateInt(0)
    >>> g.next()
    0
    >>> g.next()
    1
    >>> g.next()
    2
    >>> g.next()
    3
    >>> g.next()
    4
    >>> g.next()
    5
    >>> g.next()
    6
    >>> g.next()
    7
    >>> g.next()
    8
    >>> g.next()
    9
    >>> g.next()
    Traceback (most recent call last):
      File "<stdin>", line 1in <module>
    StopIteration
    cs

     

    제너레이터..

     

    함수(value) ==   [yield]  ==> 제너레이터

     

    제너레이터.next() : 순차적으로 값을 반환

     

    --------------------------------------

     

    결과가 똑같은 이더레이터와 제너레이터를 만들었다.

    댓글

Designed by Tistory.