728x90
반응형
1. 인덱스 사용 vs 언패킹
튜플에 있는 값을 접근할 때 다음과 같이 인덱스를 사용할 수 있다.
item = ('호박엿', '식혜')
first = item[0]
second = item[1]
print(first, '&', second)
>>>
호박엿 & 식혜
다만, 여러줄로 이루어져 있어 복잡하다. 그래서 다음의 코드처럼 언패킹을 사용하면 한 문장 안에서 여러 값을 대입할 수 있다.
item = ('호박엿', '식혜')
first, second = item # 언패킹
print(first, '&', second)
2. for 문에서의 활용
또한, 언패킹은 for 루프에서 쓸모가 있다. 다음은 기존 코드이다.
snacks = [('베이컨', 350), ('도넛', 240), ('머핀', 190)]
for i in range(len(snacks)):
item = snacks[i]
name = item[0]
calories = item[1]
print(f'#{i+1}: {name} 은 {calories} 칼로리입니다.')
>>>
#1: 베이컨 은 350 칼로리입니다.
#2: 도넛 은 240 칼로리입니다.
#3: 머핀 은 190 칼로리입니다.
잘 작동하지만 인덱스로 찾으려면 코드가 길어진다. 다음 예제에서는 enumerate 내장 함수와 언패킹을 사용하여 똑같은 출력을 만들었다.
for rank, (name, calories) in enumerate(snacks, 1):
print(f'#{rank}: {name} 은 {calories} 칼로리입니다.')
>>>
#1: 베이컨 은 350 칼로리입니다.
#2: 도넛 은 240 칼로리입니다.
#3: 머핀 은 190 칼로리입니다.
코드가 더 짧고 이해하기도 쉽다.
728x90
반응형