리스트(List)를 정렬하는 방법에는 sort, sorted를 이용하는 방법이 있다. 이번 포스팅에서는 리스트를 정렬하는 방법을 알아본다.
리스트 정렬(기본, 순서 반전, key)
1) 기본
sort와 sorted는 사용 방식이 같다. 차이점은 sort는 내부적으로 정렬되어 원본에 저장되는 반면 sorted는 정렬된 복사본을 생성한다는 것이 차이점이다.
l = ['a', 'x', 'd', 'w', 'p', 'b']
l.sort() ## 내부적으로 정렬한 뒤 원본에 정렬 결과를 저장
print(l)
l = ['a', 'x', 'd', 'w', 'p', 'b']
l = sorted(l) ## 복사본이 생성되므로 l에 다시 그 결과를 할당해주어야한다.
print(l)
2) 순서 반전
sort와 sorted는 기본적으로 오름차순으로 정렬한다. 내림차순으로 정렬하고 싶다면 reverse=True로 설정한다.
l = ['a', 'x', 'd', 'w', 'p', 'b']
l = sorted(l, reverse=True) ## 또는 l.sort(reverse=True)
print(l)
3) key
만약 리스트(List)가 개별 원소가 아니라 리스트 또는 튜플을 담고 있다면 어느 기준으로 정렬할지를 key로 설정할 수 있다.
l = [('꽁냥이', 100), ('야옹이', 80), ('옹냥이', 90), ('멍멍이', 70)]
## 원소의 두 번째 기준으로 오름차순 정렬
l = sorted(l, key=lambda x:x[1]) ## 또는 l.sort(key=lambda x:x[1])
print(l)
'프로그래밍 > Python' 카테고리의 다른 글
파이썬(Python) 튜플(Tuple)과 리스트(List)의 공통점과 차이점 (0) | 2022.09.19 |
---|---|
파이썬(Python) 데코레이터(Decorator)에 대해서 알아보자 (feat. @) (0) | 2022.09.19 |
파이썬(Python) 리스트(List) 속에 원소 존재 여부, 원소 위치, 등장 횟수 알아보기 (feat, in, index, count) (36) | 2022.09.17 |
파이썬(Python) 리스트 결합(병합)하기 (feat. extend, + ) (0) | 2022.09.17 |
파이썬(Python) 리스트(List) 슬라이스(Slice)로 원소 추출, 변환 하기 (0) | 2022.09.17 |
댓글