Python, enumerate() 함수 사용: 목록의 요소 및 인덱스 가져오기

사업

Python의 enumerate() 함수를 사용하면 for 루프에서 목록이나 튜플과 같은 반복 가능한 객체의 요소와 인덱스 번호(개수, 순서)를 얻을 수 있습니다.

이 문서에서는 enumerate() 함수의 기본 사항을 설명합니다.

  • for 루프에서 인덱스를 가져오는 함수:enumerate()
    • 루프에 대한 일반
    • enumerate() 함수를 사용하는 For 루프
  • enumerate() 함수의 인덱스를 1(0이 아닌 값)에서 시작합니다.
  • 증분(단계) 지정

enumerate() 함수는 for 루프에서 인덱스를 가져오는 데 사용할 수 있습니다.

루프에 대한 일반

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

enumerate() 함수를 사용하는 For 루프

enumerate() 함수의 인수로 목록과 같은 반복 가능한 객체를 지정합니다.

인덱스 번호와 요소를 순서대로 가져올 수 있습니다.

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

enumerate() 함수의 인덱스를 1(0이 아닌 값)에서 시작합니다.

위의 예와 같이 기본적으로 enumerate() 함수의 인덱스는 0부터 시작합니다.

0이 아닌 다른 숫자로 시작하려면 enumerate() 함수의 두 번째 인수로 임의의 시작 숫자를 지정하십시오.

처음부터 시작하려면 다음을 수행하십시오.

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

물론 다른 숫자로 시작할 수도 있습니다.

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

순차적으로 번호가 매겨진 문자열을 생성하려는 경우에 유용합니다. ‘i+1’을 사용하여 1부터 시작하는 것보다 enumerate() 함수의 두 번째 인수로 시작 번호를 지정하는 것이 더 현명합니다.

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

숫자를 0으로 채우는 데 사용되는 형식 함수에 대한 자세한 내용은 다음 문서를 참조하세요.

증분(단계) 지정

enumerate() 함수에 증분 단계를 지정하는 인수는 없지만 다음을 수행하여 달성할 수 있습니다.

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie