티스토리 뷰
파이썬 스킬업/파이썬 함수 & 문법
파이썬 정렬 함수 sort, sorted _ key = lambda, function / reverse= 파라미터 이용 방법 (Python)
영지공지 2020. 7. 6. 11:15
파이썬 정렬 함수
- 순서 -
1. sort
2. sorted
3. reverse 사용 예시
4. key function, lambda 사용방법
1. sort
원본을 변형시켜 정렬한다. '변수. sort( )' 형태로 사용.
정렬 기준은 문자열은 알파벳, 가나다순이고 숫자는 오름차순이 기본값이다.
>>> num_list = [15, 22, 8, 79, 10]
>>> num_list.sort()
>>> print(num_list)
[8, 10, 15, 22, 79]
>>> str_list = ['좋은하루','good_morning','굿모닝','niceday']
>>> str_list.sort()
>>> print(str_list)
['good_morning', 'niceday', '굿모닝', '좋은하루']
2. sorted
정렬된 결과를 반환. 원형을 변형시키지 않는다. 괄호( ) 안에 반복 가능한 iterable 자료형을 입력하여 사용한다. 정렬 기준은 문자열은 알파벳, 가나다순이고 숫자는 오름차순이 기본값이다.
>>> print(sorted([15, 22, 8, 79, 10]))
[8, 10, 15, 22, 79]
>>> str_list = ['좋은하루','good_morning','굿모닝','niceday']
>>> print(sorted(str_list))
['good_morning', 'niceday', '굿모닝', '좋은하루']
3. Parameter
sort, sorted 모두 key, reverse 매개변수를 갖고 있다.
3-1. reverse
bool값을 넣는다. 기본값은 reverse=False(오름차순)이다.
reverse=True를 매개변수로 입력하면 내림차순으로 정렬할 수 있다.
>>> num_list = [15, 22, 8, 79, 10]
>>> num_list.sort(reverse=True)
>>> print(num_list)
[79, 22, 15, 10, 8]
>>> print(sorted(['좋은하루','good_morning','굿모닝','niceday'], reverse=True))
['좋은하루', '굿모닝', 'niceday', 'good_morning']
3-2. key
정렬을 목적으로 하는 함수를 값으로 넣는다. lambda를 이용할 수 있다.
key 값을 기준으로 정렬되고 기본값은 오름차순이다.
>>> str_list = ['좋은하루','good_morning','굿모닝','niceday']
>>> print(sorted(str_list, key=len)) # 함수
['굿모닝', '좋은하루', 'niceday', 'good_morning']
>>> print(sorted(str_list, key=lambda x : x[1])) # 람다
['niceday', 'good_morning', '굿모닝', '좋은하루']
여러 개의 요소를 가진 경우, 튜플로 사용할 수 있다.
>>> tuple_list = [('좋은하루', 0),
('niceday', 1),
('좋은하루', 5),
('good_morning', 3),
('niceday',5)]
>>> tuple_list.sort(key=lambda x : (x[0], x[1])) # '-'부호를 이용해서 역순으로 가능
>>> print(tuple_list)
[('good_morning', 3), ('niceday', 1), ('niceday', 5), ('좋은하루', 0), ('좋은하루', 5)]
파이 참 문서
sort
def sort(self,
*,
key: Optional[(_T) -> Any] =...,
reverse: bool =...) -> None
--------------------
Stable sort IN PLACE.
sorted
def sorted(__iterable: Iterable [_T],
*,
key: Optional[(_T) -> Any] =...,
reverse: bool =...) -> List [_T]
--------------------
Return a new list containing all items from the iterable in ascending order. A custom key function can be supplied to customize the sort order, and the reverse flag can be set to request the result in descending order.
반응형
'파이썬 스킬업 > 파이썬 함수 & 문법' 카테고리의 다른 글
파이썬 zip( ) 함수_ 길이가 같은 리스트 등의 요소를 묶어주는 함수 (Python) (0) | 2020.07.06 |
---|---|
파이썬 del / remove( )함수 _ 파이썬 삭제, 제거 함수 (0) | 2020.07.05 |
파이썬 for문 구구단 2단부터 9단까지 출력 [파이썬 알고리즘] (1) | 2020.07.04 |
댓글
반응형