728x90
1차원 리스트 정렬
arr = [5, 3, 7, 3, 6, 1, 2]
arr.sort()
# 오름차순 정렬 output: [1, 2, 3, 3, 5, 6, 7]
arr.sort(reverse= True)
# 내림차순 정렬 output: [7, 6, 5, 3, 3, 2, 1]
2차원 리스트 정렬
arr2 = [[1, 3], [2, 2], [5,3], [4, 2], [2, 2], [1, 5]]
arr2.sort()
# 오름차순 정렬. 부분 배열의 인덱스 별 우선 순위를 가지고 오름차순으로 정렬
# output: [[1, 3], [1, 4], [1, 5], [2, 2], [2, 2], [4, 2], [5, 3]]
arr2.sort(reverse= True)
# 내림차순 정렬. 부분 배열의 인덱스 별 우선 순위를 가지고 내림차순으로 정렬
# output: [[5, 3], [4, 2], [2, 2], [2, 2], [1, 5], [1, 4], [1, 3]]
arr2.sort(key= lambda x: (x[0], x[1]))
# arr2.sort()와 동일
# output: [[1, 3], [1, 4], [1, 5], [2, 2], [2, 2], [4, 2], [5, 3]]
arr2.sort(key= lambda x: (x[1], x[0]))
# 두번째 인덱스의 우선 순위가 높음. 두번째 인덱스의 요소별 오름차순 정렬 후 첫번째 인덱스의 요소별 오름차순 정렬.
# output: [[2, 2], [2, 2], [4, 2], [1, 3], [5, 3], [1, 4], [1, 5]]
arr2.sort(key= lambda x: (-x[0], -x[1]))
# -가 붙으면 내림차순 정렬. 나머지는 위와 동일
# output: [[5, 3], [4, 2], [2, 2], [2, 2], [1, 5], [1, 4], [1, 3]]
arr2.sort(key= lambda x: (-x[1], -x[0]))
# output: [[1, 5], [1, 4], [5, 3], [1, 3], [4, 2], [2, 2], [2, 2]]
728x90
'PS (Problem Solving)' 카테고리의 다른 글
[BOJ, Python] 10026 - 적록색약 ( with DFS ) (0) | 2022.09.08 |
---|---|
[BOJ, Swift] 1021 - 회전하는 큐 ( with 덱(Dequeue) ) (0) | 2022.08.13 |
[BOJ, Swift] 18258 - 큐 2 (0) | 2022.07.22 |
[BOJ, Python] 입출력 정리 (0) | 2022.06.22 |
[BOJ, Swift] 1932 - 정수 삼각형 (0) | 2022.05.08 |