비교하는 두 튜플의 첫 번째 위치에 있는 값(앞의 코드에서는 weight)이 서로 같으면 튜플의 비교 메서드는 두 번째 위치에 있는 값을 서로 비교하고, 두 번째 위치에 있는 값도 같으면 마찬가지 방식으로 세 번째 이후 위치 등에 대해 비교를 반복한다..
drill = (4, '드릴') sander = (4, '연마기') assert drill[0] == sander[0] # 무게가 같다 assert drill[1] < sander[1] # 알파벳순으로 볼 때 더 작다 assert drill < sander # 그러므로 드릴이 더 먼저다
튜플 비교의 동작 방식을 활용해서 전동 공구 리스트를 먼저 weight로 정렬하고 그 후 name으로 정렬할 수 있다. 다음 코드는 정렬에 사용할 두 애트리뷰트를 우선순위에 따라 튜플에 넣어 반환하는 key 함수를 정의한다..
power_tools.sort(key=lambda x: (x.weight, x.name)) print(power_tools) >>> [Tool('드릴', 4), Tool('연마기', 4), Tool('원형 톱', 5), Tool('착암기', 40)]