-
[Python] enumerate - 인덱스 표현Programming/Python 2022. 9. 26. 09:38반응형
enumerate 함수에 대해 알아보자.
enumerate는 단어의 뜻에 따르면 '열거하다'라는 의미를 가지고 있다.
아래의 예시들을 보면 무슨 의민지 알 수 있지만, 간단하게 값들에 대한 인덱스를 열거한다고 생각하자.
for문에서의 활용이 대표적이므로 예시를 통해 확인해보도록 하자.
1. range
rainbow라는 리스트를 만들고 각 색깔들을 값으로 입력한다.
for 문의 range와 len으로 범위를 정하고 순서대로 값들을 출력해보자.


<range, len을 이용한 for문> 그런데, 이런 방식은 파이썬스럽지 않다고 한다. (??)
무슨 말인지는 모르겠지만 조금 더 파이썬스럽게 할 수 있는 방법이 enumerate를 이용하는 것이다.
2. enumerate 기본 사용
for 문에서 range를 사용할 때는 반복적인 변수가 하나만 있었다. (i)
enumerate를 사용하니 변수가 두 개가 들어가 있다. (i, j)
앞의 i는 인덱스 값을, 뒤의 j는 리스트에 들어있는 값들을 의미한다.
아래의 예시를 보면 enumerate를 사용했을 때의 결과를 알 수 있는데, range를 썼을 때와 같다.


<enumerate 사용 결과> 3. enumerate - start 파라미터 사용
enumerate를 사용하는 중요한 이유가 있다.
아래의 예시를 보면, start 파라미터에 5라는 값을 넣고 출력을 했다.
그렇게 하니 인덱스의 값이 5부터 시작하는 것을 알 수 있다.
이것이 enumerate를 이용하는 중요한 이유로, 순서값을 지정할 수 있다는 것이다.


<start 파라미터를 사용한 결과> 4. enumerate - 이중 for문
enumerate를 이용해 이중 for문을 작성해보자.
아래 예시에는 test 리스트가 있고 그 리스트의 값들로 리스트가 들어있다.
복잡하게 생각하지 말고 잘 보면 동일한 사용법인 것을 알 수 있다.
단지 어떤 변수, 어떤 순회 자료를 입력해야 하는지를 잘 생각해보면 된다.


<enumerate의 이중 for문> 반응형'Programming > Python' 카테고리의 다른 글
[Python] zip - 데이터 묶기 (0) 2022.12.17 [Python] chr, ord - 문자/Unicode 변환 (0) 2022.09.13 [Python] split - 문자열 자르기 (0) 2022.09.12 [Python] isinstance - 자료형 확인 (0) 2022.08.26