728x90
반응형
많은 프로그램 언어가 특정 변수(ex. i, j, k)를 증가시켜가면서 반복문을 수행합니다.
하지만, 파이썬에서는 enumerate()라는 내장 함수로 이러한 변수 없이 독특한 방식으로 반복문을 돌릴 수 있습니다.
for __ in __:
가장 기본적인 for문은 for <원소(변수)> in <목록>: 형태로 작성이 됩니다.
예를 들어, 3개의 숫자를 담고 있는 리스트를 for 문으로 출력해보는 코드를 작성해보겠습니다.
해당 리스트의 인덱스도 함께 출력하고 싶을 땐 어떻게 해야할까요?.
제일 간단한 방법은 새로운 변수를 하나 두고 변수의 값을 증가시키며 출력하는 것입니다.
아마 C언어나 다른 언어를 하다가 파이썬을 하시면, 제일 먼저 떠올리는 방법 중 하나일 것 같습니다.
하지만, 프로그램이 종료되어도 변수(index)라는 값이 남아있으니 매력적이진 않습니다.
또 다른 방법으론, range()와 len()을 사용하는 방법이 있습니다.
이런 식으로 몇 가지 방법을 사용하여 index 값과 원소를 출력해보았는데요,
가장 파이썬스러운 방법을 설명해드리겠습니다.
enumerate() 함수
바로 사용법으로 보겠습니다.
아래와 같이 in 다음 부분을 enumerate를 사용하여 묶어주면, index와 value가 tuple 형태로 출력됩니다.
tuple 형식으로 출력을 원하지 않을 땐, 새로운 변수를 하나 더 추가해서 다른 변수에 할당해주면 됩니다.
또한, format()을 사용하여 tuple 형태 반환을 아래처럼 활용할 수 있습니다.
이때까지는 index가 모두 '0'부터 시작했는데, 무조건 index 값이 0이 아닐 수 도 있습니다.
그때 새로운 시작 값을 주는 방법은 'start'를 사용하는 것입니다.
for i, data in enumerate ([10, 20, 30], start = 100):
print ("index : {}, value : {}".format (i, data))
이렇게 해서 enumerate() 사용법에 대해 알아보았습니다.!
반응형
'Python > Python Basic' 카테고리의 다른 글
update()함수로 dictionary 업데이트 하기 - 공부하는 도비 (0) | 2022.11.21 |
---|---|
버블 정렬 (오름차순 정렬) - 공부하는 도비 (0) | 2022.10.28 |
for 문을 사용하여 list 값 remove 할 때 주의 할 점 - 공부하는 도비 (0) | 2021.11.08 |
문자열 안 숫자 포함 여부 확인 (str.isdigit(), any() 함수 사용) - 공부하는 도비 (1) | 2021.07.21 |
any(), all() 함수 사용하기 - 공부하는 도비 (1) | 2021.07.21 |