본문 바로가기
IT/Python

[Python] 2차원 배열 정렬 방법

by 강천구 2022. 7. 31.

Python의 list는 sort 함수를 기본적으로 제공한다. sort(key= 기준값, lambda 사용가능 , reverse= Boolean)

 

1. 기본 2차원 배열 정렬

list = [["kim", 80], ["kang", 90], ["jung", 50]]
list.sort()
print(list)

sort 함수에 조건이 없다면 list[0]을 기준으로 오름차순 정렬된다.

[['jung', 50], ['kang', 90], ['kim', 80]]

 

 

2. key에 labmda를 이용한 컬럼 정렬

sort에 key를 첫 번째 열(x[0])을 기준으로 세팅하게 된다면 위와 동일한 결과물을 얻을 수 있다.

list.sort(key=lambda x:x[0])

 

 

3. n번째 컬럼 기준 정렬

정렬 key를 변경함으로써 다양한 기준으로 세팅이 가능하다.

list = [["kim", 80], ["kang", 90], ["jung", 50]]
list.sort(key=lambda x:x[1], reverse=True)

2번째 열(x[1])을 기준으로 점수 순서로 내림차순 정렬을 할 수 도 있다.

[['kang', 90], ['kim', 80], ['jung', 50]]

 

4. 복합 컬럼 기준 정렬

점수 순서로 2가지 정렬 기준으로 정렬할 수 있다.

list = [["kim", 80, 50], ["kang", 80, 40], ["jung", 75, 80]]
list.sort(key=lambda x:(x[1], x[2]), reverse=True)
print(list)

1번째 컬럼 + 2번째 컬럼 기준으로 정렬된다.

[['kim', 80, 50], ['kang', 80, 40], ['jung', 75, 80]]

 

 

 

Python 2D List Sort By Multiple Columns

반응형

댓글