더북(TheBook)

하지만 여러 계층으로 이뤄진 구조를 언패킹할 때는 서로 다른 부분에 포함되는 한, 별표 식을 여럿 사용해도 된다. 다음 방식을 권하지는 않지만(Better way 19: ‘함수가 여러 값을 반환하는 경우 절대로 네 값 이상을 언패킹하지 말라’ 참고), 이 방식을 이해하면 별표 식을 언패킹 대입에 사용하는 방식에 대한 직관을 키울 수 있다.

car_inventory = {
    '시내': ('그랜저', '아반떼', '티코'),
    '공항': ('제네시스 쿠페', '소나타', 'K5', '엑센트'),
}
((loc1, (best1, *rest1)),
 (loc2, (best2, *rest2))) = car_inventory.items()
print(f'{loc1} 최고는 {best1}, 나머지는 {len(rest1)} 종')
print(f'{loc2} 최고는 {best2}, 나머지는 {len(rest2)} 종')

>>>
시내 최고는 그랜저, 나머지는 2 종
공항 최고는 제네시스 쿠페, 나머지는 3 종
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.