티스토리 뷰

반응형

알고리즘 문제를 풀다보면 단순히 하나의 값만으로 정렬하는 경우가 아닌, 2개 이상의 값으로 정렬해야하는 경우가 생긴다.

 

하나의 값으로 정렬하는 경우,

key(정렬 기준 값)을 명시 하지 않거나 또는 하나의 값만을 명시해줌으로써 가능했다. 

sorted(data) 
# OR data.sort()

sorted(data, key=lambda x: x[0]) 
# OR data.sort(key=lambda x: x[0])

 

두개 이상의 값으로 정렬하는 경우,

key 값을 다음과 같이 튜플 형태로 엮어 넣어주면 된다.

data = [[1, 2], [2, 3], [1, 4], [3, 0]]

data = sorted(data, key = lambda x: (x[0], x[1]))
# [[1, 2], [1, 4], [2, 3], [3, 0]]

data = sorted(data, key = lambda x: (x[1], x[0]))
# [[3, 0], [1, 2], [2, 3], [1, 4]]

data = sorted(data, key = lambda x: (-x[0], x[1]))
# [[3, 0], [2, 3], [1, 2], [1, 4]]

data = sorted(data, key = lambda x: (x[0], -x[1]))
# [[1, 4], [1, 2], [2, 3], [3, 0]]

data = sorted(data, key = lambda x: (-x[0], -x[1]))
# [[3, 0], [2, 3], [1, 4], [1, 2]]

 

320x100
반응형
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함