더북(TheBook)

BETTER WAY 13 슬라이싱보다는 나머지를 모두 잡아내는 언패킹을 사용하라

기본 언패킹(Better way 6: ‘인덱스를 사용하는 대신 대입을 사용해 데이터를 언패킹하라’ 참고)의 한 가지 한계점은 언패킹할 시퀀스의 길이를 미리 알고 있어야 한다는 것이다. 예를 들어 중고차 매매상에서 판매하는 자동차들이 출고 이후 몇 년 지났는지(자동차 나이)를 표현하는 리스트가 있다고 하자. 기본 언패킹으로 리스트 맨 앞에서 원소를 두 개 가져오면 실행 시점에 예외가 발생한다.

car_ages = [0, 9, 4, 8, 7, 20, 19, 1, 6, 15]
car_ages_descending = sorted(car_ages, reverse=True)
oldest, second_oldest = car_ages_descending

>>>
Traceback ...
ValueError: too many values to unpack (expected 2)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.