2차원 배열 sort()

JoyJuhee·2022년 10월 21일
0

Python

목록 보기
9/22
post-thumbnail

백준 문제를 풀다가 2차원 배열을 정렬하는 것이 아직 익숙하지 않아 정리하게 되었다. :)

1. 기본

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

arr.sort()

print(arr)

#[[0, 4], [1, 2], [2, 3]] -> 각 첫번째 원소 기준으로 오름차순 정렬

2. 행 기준으로 정렬

1) 오름차순

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

arr.sort(key=lambda x:x[0]) #lambda를 사용하여 key인 x를 설정해준다.

print(arr)

# [[0, 4], [1, 2], [2, 3]]

2) 내림차순

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

arr.sort(key=lambda x:-x[0]) #- 를 붙여주면 내림차순으로 정렬된다.

print(arr)

# [[2, 3], [1, 2], [0, 4]]

3. 열 기준으로 정렬

1) 오름차순

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

arr.sort(key=lambda x:x[1]) 

print(arr)

# [[1, 2], [2, 3], [0, 4]]

2) 내림차순

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

arr.sort(key=lambda x:-x[1])

print(arr)

# [[0, 4], [2, 3], [1, 2]]

✅ 만약, 열 기준으로 값이 같은 경우에는 행 기준으로 오름차순을 정렬할 수도 있다.

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

arr.sort(key=lambda x:(x[1],x[0]))

print(arr)

# [[1, 2], [2, 3], [0, 4], [2, 4]]

출처 : https://asxpyn.tistory.com/75

0개의 댓글