티스토리 뷰


파이썬 내장 함수들은 굉장히 강력하다.


클래스 매직 함수들과 더불어서 말이다


range(len(items)) 대신 enumerate 를 사용해 보자.


range 는 인덱스로 접근해서 가독성이 좀 떨어지고 실수의 소지도 있다.


for i in range(len(q)):
print(i, q[i])

for i, v in enumerate(q):
print(i, v)


enumerate 는 인덱스와 해당 인덱스의 값을 동시에 리턴한다.


안쓰는 변수에는 _ 처리 해줘도 된다.


def enumerate(sequence, start=0):
    n = start
    for elem in sequence:
        yield n, elem
        n += 1


enumerate 함수 내부를 살펴 보자!


start 는 시작 인덱스이다.


그리고 중요한게 sequence 이다.


어떤 클래스의 인스턴스를 enumerate 인자로 받으려면


클래스 매직 함수인  __iter__ 가 정의 되있어야 한다.


  



'python lecture > basic' 카테고리의 다른 글

[edu] import module (모듈 임포트)  (0) 2019.01.29
[edu] curriculum  (0) 2019.01.29
[edu] __name__ == "__main__"  (0) 2019.01.29
[edu] 정규표현식 (regex)  (0) 2019.01.29
[edu] sqlite3 (db, sql)  (0) 2019.01.28
댓글