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
반응형
'IT > Python' 카테고리의 다른 글
[Python] json의 key, value에 따른 데이터 추출 (0) | 2023.03.10 |
---|---|
[Python] Requests timeout 설정 (0) | 2023.01.27 |
[Python] String에 변수 사용(f-string) (1) | 2022.11.13 |
[Python] "return list.sort()"는 None 일 때 (0) | 2022.07.31 |
댓글