-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
리스트와 내장함수
23.12.14 18:07 작성 23.12.14 18:09 수정 조회수 77
0
enumerate 함수에 대해 질문 있습니다.
a=[23, 12, 36, 53, 19]
for x in enumerate(a):
print(x)
print()
for x in enumerate(a):
print(x[0], x[1])
print()
for index, value in enumerate(a):
print(index, value)
print()
똑같은 enumerate함수를 썼는데
왜 첫번째 for문에서만 튜플 형태로 출력이 되고 두번째, 세번째에선 그냥 값만 출력이 되는 건가요?
답변을 작성해보세요.
0
인프런 AI 인턴
2023.12.16
안녕하세요, 인프런 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
함수의 결과물을 어떻게 할당하고 접근하느냐에 따라 다르게 나타납니다. 첫 번째 경우는 튜플 자체를 다루는 반면, 두 번째와 세 번째 경우는 튜플의 각 요소를 개별 변수로 할당하여 접근합니다.
답변 1