enumerate()는 '열거하다'는 뜻의 함수로,
여러 가지 자료형 (list, set, tuple 등)을 인덱스를 포함한 enumerate 객체로 리턴한다.>> a = [1,2,3,4,45,2,5] >> list(enumerate(a)) [(0,1), (1,2), (2,3), (3,2), (4,45), (5,2), (6,5)]
list()로 결과를 추출할 수 있는데, 인덱스를 자동으로 부여해주기 때문에 매우 편리하게 활용할 수 있다.
a = ['a1', 'b2', 'c3]가 있을 때, 이 리스트의 인덱스와 값을 함께 출력하는 방법은 3가지가 있다.
첫번째 방법
for i in range(len(a)): print(i, a[i])
이 방법은 불필요한 a[i] 조회 작업과 전체 길이를 조회하여 루프를 처리하는 형태가 깔끔해 보이지 않는다.
두번째 방법
i = 0 for v in a: print(i, v) i += 1
두번째 방법은 첫번째 방법에 비해 값은 깔끔하게 처리했으나, 이 경우 인덱스를 위한 변수를 별도로 관리하는 형태라 이 또한 깔끔하지 않다.
세번째 방법 ⭐️
for i, v in enumerate(a) print (i,v)
enumerate()를 활용하여 인덱스와 값 모두 한 번에 깔끔하게 처리되었다..! 👍🏻
⌜파이썬 알고리즘 인터뷰⌟ p35