728x90
반응형
이터러블 정렬 (반환됨)
sorted(iterable, key, reverse=False)
○ 오름차순 / 내림차순
a = sorted(iterable) : 오름차순 정렬
b = sorted(iterable, reverse=True) : 내림차순 정렬
○ 특정 값을 기준으로 정렬
sorted('ba','cc','ab')
['ab', 'ba', 'cc']
sorted('ba','cc','ab', key=lambda x:x[1]) : [1]인덱스 우선, [0]인덱스 다음
['ba', 'ab', 'cc']
sorted([(3,2),(2,1),(1,2)], key=lambda x:(x[1],x[0])) : [1]인덱스 우선, [0]인덱스 다음
[(1, 1), (2, 2), (3, 3)]
○ 자료형 별 정렬 예시
범위
sorted(range(1,10),reverse=True)
[9, 8, 7, 6, 5, 4, 3, 2, 1]
문자열
sorted('bca')
['a','b','c']
리스트
sorted([1,3,2])
[1,2,3]
이중 리스트 : 0번 인덱스 작은순. 같으면 1번 인덱스 작은순 ...
sorted([[1,2,3],[1,3,2],[2,1,3],[2,3,1]])
[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1]]
집합
sorted({3,2,1})
[1, 2, 3]
튜플
sorted((3,2,1))
[1, 2, 3]
리스트 튜플
sorted([(3,2),(2,1),(1,2)]) : x우선 y다음
[(1, 2), (2, 1), (3, 2)]
sorted([(3,2),(2,1),(1,2)], key=lambda x:(x[1],x[0])) : y우선, x다음
[(2, 1), (1, 2), (3, 2)]
딕셔너리 = key 기준으로 정렬
sorted({3:1,2:1,1:1})
[1, 2, 3]
딕셔너리 = value 기준으로 정렬
sorted({3:3,2:2,1:1}.items(), key=lambda x:x[1])
[(1, 1), (2, 2), (3, 3)]
리스트 정렬 - 반환 없음(제자리 정렬), Stable(순서보장)
list.sort(iterable, key, reverse=False) : 리스트만 가능 사용법은 sorted()와 동일함.
a['ba','cc','ab']
a.sort()
['ab', 'ba', 'cc']
a.sort(reverse=True)
['cc', 'ba', 'ab']
a.sort(key=lambda x:x[1])
['ba', 'ab', 'cc']
b = [(3,2),(2,1),(1,2)]
b.sort(key=lambda x:(x[1],x[0]))
[(2, 1), (1, 2), (3, 2)]
백준 11651 : 좌표 정렬하기 2
튜플 정렬
[(x1,y1), (x2,y2)...] 에서 y 기준으로 정렬
sorterd(location, lambda x : (x[1],x[0]))
for lo in location:
sys.stdout.write(str(lo[0]) + ' ' + str(lo[1]) +'\n')
반응형
'Python > 문법' 카테고리의 다른 글
파이썬(python) 문자열 중복제거 (unique) (2) | 2021.05.01 |
---|---|
파이썬 (python) 자료형 (0) | 2021.04.23 |
파이썬 (python) 문자열 뒤집기 (reverse) (0) | 2021.04.20 |
파이썬(python) - 입출력 (0) | 2021.04.18 |
파이썬(python) - 이터레이션 형 (Iteration) (0) | 2021.04.18 |