-
[Python] 파이썬 enumerate 함수로 For 문 돌리기코딩/파이썬 2023. 7. 31. 21:28반응형
python을 이용해 for 루프를 돌릴 경우가 많습니다. 이 때 몇 회의 루프를 돌았는지, for 문 상에서 확인해야 되는 경우가 있는데요. enumerate는 이런 루프 횟수를 체크할 때 매우 유용한 함수이고, 매우 간결하기 때문에 진정 pythonic 한 함수이기도 합니다. 이번 글에서는 python enumerate 함수에 대해서 소개해 보겠습니다.
1. enumerate 함수란?
- enumerate으로 반복문에서 목록의 인덱스와 값을 동시에 가져올 수 있다.
파이썬은 많은 편리한 기능들을 내장 함수 형태로 제공하며, 이들 중 하나가 바로 enumerate입니다. enumerate는 '열거하다'라는 뜻이며, 이 함수를 사용하면 반복문을 사용하는 동안 목록의 인덱스와 값을 동시에 가져올 수 있습니다. 이 기능은 데이터를 처리하거나 반복 작업을 수행할 때 매우 유용합니다.
실제로 enumerate는 아래의 코드와 동일하게 동작합니다.
# Equivalent to: def enumerate(iterable, start=0): n = start for elem in iterable: yield n, elem # index와 목록의 요소를 동시에 리턴한다. n += 1
자세한 사항은 아래 enumerate에 대한 python 공식 문서를 참고하십시요.
https://docs.python.org/3/library/functions.html#enumerate
2. enumerate 활용 방법 & 예시
- 인덱스와 값을 포함한 튜플을 반환하여 간결한 for문을 작성할 수 있다.
- "for i, ele in enumerate(mylist)" 형태로 인덱스와 값을 받을 수 있다.
기본적으로 enumerate 함수는 인덱스와 값을 포함하는 튜플을 반환합니다. 이를 이용하여 for 문을 사용할 때, 추가적인 변수를 선언하여 인덱스를 추적할 필요가 없습니다.
아래는 enumerate 함수를 활용하는 간단한 예시입니다:fruits = ["apple", "banana", "cherry"] for i, fruit in enumerate(fruits): print(f"과일 리스트에서 {i} 인덱스 요소는 {fruit} 이다") # 출력 #과일 리스트에서 0 인덱스 요소는 apple 이다 #과일 리스트에서 1 인덱스 요소는 banana 이다 #과일 리스트에서 2 인덱스 요소는 cherry 이다
3. range와 enumerate 비교
- range를 이용해 동일하게 구현할 수 있으나, 가독성이 떨어 진다.
range 함수를 사용하여 for문을 작성하는 경우, 인덱스를 통해 리스트의 값을 얻을 수 있습니다. 그러나 이 방식은 가독성이 떨어지고 코드가 복잡해질 수 있습니다.
다음은 range 함수를 사용한 예시입니다:fruits = ["apple", "banana", "cherry"] for i in range(len(fruits)): print(f"과일 리스트에서 {i} 인덱스 요소는 {fruit} 이다")
enumerate 함수를 사용하면 코드가 더욱 간결하고 가독성이 좋아집니다. 인덱스와 값을 한 번에 얻을 수 있어 코드를 더욱 직관적으로 만들어줍니다.
4. enumerate 사용 팁(시작 번호 변경 등)
- start 인자를 사용하면, 시작 순서를 변경할 수 있다.
enumerate 함수는 선택적으로 'start' 인수를 받을 수 있습니다. 이 인수를 사용하면 인덱스의 시작 번호를 지정할 수 있습니다. 기본값은 0이지만, 다른 숫자를 지정하여 인덱스의 시작 값을 조정할 수 있습니다.
다음은 'start' 인수를 사용한 예시입니다.
이 코드를 실행하면, 인덱스가 1부터 시작하는 다음과 같은 결과를 얻을 수 있습니다:# start 인수로 시작 숫자를 변경할 수 있다. fruits = ["apple", "banana", "cherry"] for i, fruit in enumerate(fruits, start=1): print(f"과일 리스트에서 {i} 인덱스 요소는 {fruit} 이다") #출력 #과일 리스트에서 1 인덱스 요소는 apple 이다 #과일 리스트에서 2 인덱스 요소는 banana 이다 #과일 리스트에서 3 인덱스 요소는 cherry 이다
이상 enumerate 사용 팁이었습니다.
https://smart-worker.tistory.com/47
https://smart-worker.tistory.com/49
https://smart-worker.tistory.com/50
반응형'코딩 > 파이썬' 카테고리의 다른 글
[python] 딕셔너리에서 기본값 설정하기 (0) 2023.08.01 [Python] zip함수로 두 리스트의 데이터 엮어주기 (0) 2023.07.31 [Python] 문자열 서식 지정, 포매팅 방식 및 format 함수 (0) 2023.07.30 Python의 예외 처리 방법: try, except, finally 이해하기 (0) 2023.07.30 [Python] JSON 데이터 손쉽게 다루기 (0) 2023.07.30