[Python] collections.OrderedDict 정렬
2021. 1. 5. 11:38ㆍProgramming Language/Python
OrderedDict란?
순서가 있는 딕셔너리. 파이썬 3.7+에선 기본 딕셔너리도 순서가 있지만 코딩테스트 환경이 3.6이하 버전 일수도 있어OrderedDict
를 쓰는 편이 안전하다.
OrderedDict 정렬
- sort()나 sorted() 메소드를 사용.
key=
파라미터로 기준을 설정 할 수 있다.revers=
파라미터로 오름차순, 내림차순 설정이 가능하다.revers=True
는 내림차순,reverse=False
는 오름차순이며 Default는 오름차순(reverse=False)이다.
sort()
와sorted()
는 원본이 바뀌는지, 안바뀌는지의 차이이고, 원본이 바뀌지 않는sort()
의 실행속도가 더 빠르다
import collections
from typing import OrderedDict
# 기본 딕셔너리
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
# Key 기준 정렬 (오름차순)
sorted_dic1 = OrderedDict(
sorted(dic.items(), key=lambda x: x[0], reverse=False))
# Key 기준 정렬 (내림차순)
sorted_dic2 = OrderedDict(
sorted(dic.items(), key=lambda x: x[0], reverse=True))
# Value 기준 정렬 (오름차순)
sorted_dic3 = OrderedDict(
sorted(dic.items(), key=lambda x: x[1], reverse=False))
# Value 기준 정렬 (내림차순)
sorted_dic4 = OrderedDict(
sorted(dic.items(), key=lambda x: x[1], reverse=True))
print('Key 기준, 오름차순: ', sorted_dic1)
print('Key 기준, 내림차순: ', sorted_dic2)
print('Value 기준, 오름차순: ', sorted_dic3)
print('Value 기준, 내림차순: ', sorted_dic4)
결과
Key 기준, 오름차순: OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
Key 기준, 내림차순: OrderedDict([('d', 4), ('c', 3), ('b', 2), ('a', 1)])
Value 기준, 오름차순: OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
Value 기준, 내림차순: OrderedDict([('d', 4), ('c', 3), ('b', 2), ('a', 1)])
반응형
'Programming Language > Python' 카테고리의 다른 글
[Python] collections.Counter() 이용한 빈도수 세기 (0) | 2021.01.05 |
---|---|
[Python] re.sub() 으로 문자열 치환 (0) | 2021.01.05 |
[Python] 리스트에 특정 값이 있는지 체크하기 (0) | 2021.01.05 |
[Python] split() (0) | 2021.01.04 |
[Python] 정규 표현식 (0) | 2021.01.04 |