파이썬 문법학습 후 정리한 포스팅 입니다.
이번 포스팅에서는 파이썬 정렬 함수에 대해 학습합니다.
I) sort 함수
- 리스트.sort() 형식
- 리스트형의 메소드 (리스트의 원본값 수정)
II) sorted 함수
- sorted( 리스트 ) 형식
- 파이썬 내장함수 (리스트의 원본값 수정 X) -> 정렬한 새로운 리스트 반환
III) Parameter
sort() 와 sorted함수의 옵션은 동일하다.
- key Parameter
어떤 것을 기준으로 정렬할 것인가? ( ex) [ str, int ] 의 중첩 리스트에서 key 지정해주기 )
- reverse Parameter
.sort() 함수와 마찬가지로 reverse = False가 오름차순의 Default 값, reverse = True는 내림차순
IV) 코드
arr = [10, 21, 22, 42, 52]
arr.sort() # .sort()는 반환값이 없음에 주의!
print(".sort()를 사용한 정렬입니다.", arr)
arr.sort(reverse= True) # .sort()는 반환값이 없음에 주의!
print(".sort()를 사용한 내림차순 정렬입니다.", arr)
--> .sort()를 사용한 정렬입니다. [10, 21, 22, 42, 52]
.sort()를 사용한 내림차순 정렬입니다. [52, 42, 22, 21, 10]
sorted_arr = sorted(arr)
print("sorted()를 사용한 정렬입니다.", sorted_arr)
sorted_arr = sorted(arr, reverse=True)
print("sorted()를 사용한 내림차순 정렬입니다.", sorted_arr)
--> sorted()를 사용한 정렬입니다. [10, 21, 22, 42, 52]
sorted()를 사용한 내림차순 정렬입니다. [52, 42, 22, 21, 10]
# 중첩 리스트의 정렬
arr_in_arr = [ [23, 'hello'], [43, 'my'], [64, 'friend']]
arr_in_arr.sort(key = lambda x:x[0])
print(".sort()를 사용한 중첩 리스트 정렬입니다. (key: int)", arr_in_arr)
arr_in_arr.sort(key = lambda x:x[1])
print(".sort()를 사용한 중첩 리스트 정렬입니다. (key: str)", arr_in_arr)
--> .sort()를 사용한 중첩 리스트 정렬입니다. (key: int) [[23, 'hello'], [43, 'my'], [64, 'friend']]
.sort()를 사용한 중첩 리스트 정렬입니다. (key: str) [[64, 'friend'], [23, 'hello'], [43, 'my']]
sorted_arr_in_arr = sorted(arr_in_arr, key = lambda x:x[0])
print("sordted()를 사용한 중첩 리스트 정렬입니다. (key: int)", sorted_arr_in_arr)
sorted_arr_in_arr = sorted(arr_in_arr, reverse=True, key = lambda x:x[1])
print("sordted()를 사용한 내림차순 정렬입니다. (key: str)", sorted_arr_in_arr)
--> sordte()를 사용한 중첩 리스트 정렬입니다. (key: int) [[23, 'hello'], [43, 'my'], [64, 'friend']]
sordte()를 사용한 내림차순 정렬입니다. (key: str) [[43, 'my'], [23, 'hello'], [64, 'friend']]
<Summary>
- sort()
- sorted()
*유의사항
- 파이썬 문법 공부 중인 인공지능공학과 학부생이 남긴 정리입니다.
- 정확하지 않거나, 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다.
'AI Developer > Python' 카테고리의 다른 글
[Python] 문서 자동화 (docx-template) (1) | 2023.09.13 |
---|---|
[Python] 리스트 컴프리헨션(List Comprehension) (0) | 2023.08.18 |
[파이썬] 리스트 역순으로 저장/출력하기 (0) | 2023.01.23 |
[파이썬] 파이썬 자료 구조 (0) | 2023.01.12 |
[파이썬] input.split() 활용 (0) | 2022.12.29 |
댓글