작성
·
108
·
수정됨
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
enumerate
함수는 순회 가능한(iterable) 데이터(예: 리스트, 튜플, 문자열 등)를 입력받아 각 요소를 인덱스와 함께 튜플형태로 반환하는 함수입니다.
첫 번째 for문에서는 enumerate
함수가 반환하는 튜플 (index, element)
전체를 변수 x
에 할당하고 있기 때문에 튜플 형태로 출력됩니다.
a = [23, 12, 36, 53, 19]
for x in enumerate(a):
print(x) # 각 요소를 튜플로 출력 (index, element)
두 번째와 세 번째 for문에서는 튜플 형태로 반환된 값을 x[0]
, x[1]
또는 index
, value
로 언패킹하여 인덱스와 값을 각각 다른 변수로 받아 다루기 때문에 각각의 값만 출력됩니다.
# 두 번째 for문에서는 튜플의 요소에 접근
for x in enumerate(a):
print(x[0], x[1]) # 각각 인덱스와 요소 값을 출력
# 세 번째 for문에서는 튜플 언패킹을 통해 바로 변수에 할당
for index, value in enumerate(a):
print(index, value) # 각각 인덱스와 요소 값을 출력
각 출력 형태의 차이는 enumerate
함수의 결과물을 어떻게 할당하고 접근하느냐에 따라 다르게 나타납니다. 첫 번째 경우는 튜플 자체를 다루는 반면, 두 번째와 세 번째 경우는 튜플의 각 요소를 개별 변수로 할당하여 접근합니다.