새소식

반응형
Programming Language/Python

[Python] 파이썬 enumerate

  • -
반응형

Python 로고 이미지입니다.
Python

 

파이썬 enumerate


파이썬의 enumerate() 함수는 반복 가능한(iterable) 객체(예 : 리스트, 튜플, 문자열)를 순회하면서 각 항목의 인덱스와 값을 함께 반환하는 유용한 함수이다. enumerate() 함수는 반복문을 사용하여 객체의 요소에 접근할 때 인덱스 정보를 함께 사용할 수 있어서 코드를 더 명확하고 간결하게 만들어준다.
 
enumerate() 함수의 기본 구조는 다음과 같다.

enumerate(iterable, start = 0)
  • iterable : 순회하고자 하는 반복 가능한 객체
  • start(선택사항) : 인덱스를 시작할 값이다. 기본값은 0이며, 다른 정수 값을 지정할 수 있다.

enumerate() 함수는 이터레이터(iterator)를 반환하며, 각 항목에 대한 튜플을 생성한다. 튜플의 첫 번째 요소는 인덱스이며, 두 번째 요소는 iterable에서 가져온 값이다.

fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits):
    print(f"Index : {index}")
    print(f"Value : {fruit}")
    print("----------------")

enumerate() 함수를 사용하면 위의 예제와 같이 인덱스와 값을 동시에 가져올 수 있다. 다시 강조하고 싶은 건 첫 번째 요소는 인덱스이며 두 번째 요소가 가져온 값이라는 것이다. 만약 for fruit, index in enumerate(fruits)와 같이 선언한다면 실제로 fruit 변수에 인덱스가 들어가며 index 변수에 값이 들어가기 때문에 헷갈릴 수 있다.
 

Index : 0
Value : apple   
----------------
Index : 1       
Value : banana  
----------------
Index : 2       
Value : cherry  
----------------

실행 결과

 
 
그렇다면 이제 enumerate() 함수의 두 번째 파라미터를 사용하는 예제를 살펴보자. 두 번째 파라미터 start를 사용하여 인덱스를 시작할 값을 지정할 수 있다. 예를 들어, 시작 인덱스를 1로 설정하려면 다음과 같이 할 수 있다.

fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits, start = 1):
    print(f"Index : {index}")
    print(f"Value : {fruit}")
    print("----------------")

위의 예제는 enumerate() 함수를 사용하여 과일 리스트를 순회하고, 시작 인덱스를 1로 설정하여 출력한다.
 

Index : 1
Value : apple
----------------
Index : 2
Value : banana
----------------
Index : 3
Value : cherry
----------------

실행 결과

 
 
문자열의 각 단어와 단어의 시작 인덱스를 출력하는 예제도 한 번 살펴보자.

text = "Python is a powerful programming language"

for index, word in enumerate(text.split(), start = 100):
    print(f"Index : {index}")
    print(f"Word : {word}")
    print(f"-------------------")

먼저 split() 함수를 사용하여 text 변수에 있는 문자열을 리스트로 변환한다. 그럼 공백을 기준으로 나눈 문자열 리스트가 enumerate() 함수의 첫 번째 파라미터로 들어가고 시작 인덱스는 100으로 설정한다. 보통은 시작 인덱스를 100으로 설정하지는 않지만 start 파라미터에 어떤 숫자를 넣던, 가능하다는 예제를 보여주고 싶었다.
 

Index : 100
Word : Python
-------------------
Index : 101
Word : is
-------------------
Index : 102
Word : a
-------------------
Index : 103
Word : powerful
-------------------
Index : 104
Word : programming
-------------------
Index : 105
Word : language
-------------------

실행 결과

 
 
위에서 다양한 예제들을 살펴봐서 알 수 있듯이, enumerate() 함수를 사용하여 다양한 데이터 구조를 순회하고 인덱스와 값을 함께 출력할 수 있다. enumerate() 함수는 반복 작업에서 인덱스 정보를 사용할 때 유용한 도구이다.
 
 
읽어주셔서 감사합니다.
 

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.