파이썬/기본 문법
이중 정렬
유자차H
2022. 3. 25. 00:34
반응형
정렬을 할때, 여러가지 기준으로 정렬을 해야할 때가 있습니다.
lambda를 사용하면, 한 번에 여러가지 기준으로 정렬을 할 수있습니다.
sort(key= lambda x: ([첫번째 기준], [두번째 기준]))
# 문자 순 정렬, 문자 동일한 경우 앞의 번호 순으로 정렬
s = ["2 A", "1 B", "4 C", "1 A"]
s.sort(key= lambda x: (x.split()[1], x.split()[0]))
# ['1 A', '2 A', '1 B', '4 C']
# 숫자 순 정렬, 숫자 동일한 경우 앞의 문자 순으로 정렬
s = ["2 A", "1 B", "4 C", "1 A"]
s.sort(key= lambda x: (x.split()[0], x.split()[1]))
#['1 A', '1 B', '2 A', '4 C']
반응형