-
sort / sorted파이썬 Study/라이브러리 2021. 3. 14. 16:30
참고 :
■ list.sort( )
1) 정의 :
- 원본 리스트를 정렬하여 sorted 보다 빠름, 반환값 None (원본자체를 변경하므로)
- sort / sorted 자체는 key 없을 때 tuple의 경우 index 순으로 정렬이 진행된다
list.sort([reverse=<True|False>][, key=<function>]) # reverse : 내림차순 정리, 왼쪽이 더 크다, 기본 False
2) 예시 :
l1 = [1, 3, 2] print(l1.sort()) >>> None print(l1) >>> [1, 2, 3] # sorting using key index = 0 arr.sort(reverse=False,key = lambda x : x[0] ) print(arr) >>> [[28, 'jy'], [35, 'kg'], [51, 'ak']] # sorting using key index = 1 arr = [[28, "jy"] , [35 , "kg"] , [51 , "ak"]] arr.sort(reverse=False,key = lambda x : x[1] ) # 사전형식 + length print(arr) >>> [[51, 'ak'], [28, 'jy'], [35, 'kg']]
■ sorted(<list>)
1) 정의 :
- 정렬된 새로운 리스트를 반환하여 원본에 영향을 미치지 않음, 대신 execution이 조금 더 걸린다
- 모든 iterable에 동작하는 함수 ( list, dictionary, set, tuple, string)...
sorted(iterable[, key=<function>][, reverse=<True|False>]) # reverse : 내림차순 정리, 왼쪽이 더 크다
2) 예시 :
sort의 예시 결과와 동일!
■ multiple attributes
1) 예시
# 1) 튜플 s = sorted(s, key = lambda x: (x[0], x[1]))
# 2) operator 라이브러리 import operator # faster / avoids python function call s.sort(key = operator.itemgetter(1, 2))
■ string의 sorting
1) 정의 :
- 사전식, 길이 정렬 === [뒤에오는 alphabet, 길이가 긴 것] 이 더 "높음"
- 숫자가 더 "낮은" 순위, 길이보다 사전순이 선정렬 대상
2) 예시 :
> 같은 문자 포함중일 때
_list = [ 'abcd', 'abcde', 'abcdd' ] print(f'{sorted(_list)}') >>> ['abcd', 'abcdd', 'abcde']
> 숫자, 'alphabet / 길이' 의 정렬 순위 예시
_list = [ 'abcd', '123', '12222', '1234' ] print(f'{sorted(_list)}') >>> ['12222', '123', '1234', 'abcd']
반응형'파이썬 Study > 라이브러리' 카테고리의 다른 글
max / min / sum (1) 2021.03.14 functools (1) 2021.03.14 list와 그 요소들 / slicing / 1D 2D(comma) (1) 2021.03.14 any / all - built in function (1) 2021.03.14 isinstance - built in function (1) 2021.03.14