[Python] Dictionary(사전) 자료형 : { k : v }의 sort(정렬)
글 작성자: 택시 운전사
반응형
1. Key
값을 정렬
Python
의 Dictionary
자료형은 { key: value }
쌍으로 값이 들어가 있다. Dictionary
는 Default(기본)
정렬이 Key
값을 기준으로 오름차순으로 Key
값을 정렬하는 것이다.
fruits \= { 'apple': 2, 'banana' : 1, 'melon' : 0, 'pear' : 2, 'plum' : 1}
sorted(fruits)
# \['apple', 'banana', 'melon', 'pear', 'plum'\]
sorted(fruits.keys())
# \['apple', 'banana', 'melon', 'pear', 'plum'\]
# sorted(frueits)는 sorted(fruits.keys())와 같다.
만약 값(value)
를 기준으로 Key
값을 정렬하고 싶다면, sorted
의 key
매개 변수에 lamda
함수를 사용하여 value
를 기준으로 정렬하라는 코드를 넣으면 된다.
sorted(fruits, key\=lambda k : fruits\[k\])
# \['melon', 'plum', 'banana', 'pear', 'apple'\]
sorted(fruits, key\=lambda k : fruits\[k\], reverse\=True)
# \['pear', 'apple', 'plum', 'banana', 'melon'\]
2. dict.items()
를 정렬
dictionary
에서 제공되는 items() method
를 사용하면, tuple(튜플)
자료형으로 이루어진 목록을 만들어 준다. 이를 정렬하면 역시 dictionary(사전)
의 key
값으로 정렬한 것과 같이 된다.
fruits.items()
# dict\_items(\[('plum', 1), ('pear', 2), ('banana', 1), ('apple', 2), ('melon', 0)\])
sorted(fruits.items())
# \[('apple', 2), ('banana', 1), ('melon', 0), ('pear', 2), ('plum', 1)\]
value
로 정렬하려면
sorted(fruits.items(), key\=lambda t : t\[1\])
\# \[('melon', 0), ('plum', 1), ('banana', 1), ('pear', 2), ('apple', 2)\]
위의 lambda
함수에 t
와 t[1]
이 사용되었는 데, 여기서 t
는 fruits.items()
에서 얻은 목록에 들어 있는 항목을 의미하며, t
는 ('key', value) tuple(튜플)
로 정의된다. 따라서, t[1]
은 value
를 의미하고 이는 정렬하는 기준을 value
로 하라는 의미이다.
반응형
'Language > Python' 카테고리의 다른 글
파이썬을 이용해서 순회 알고리즘을 구현해보자 ♻ (feat. DFS, BFS) (0) | 2019.02.08 |
---|---|
파이썬을 이용해서 이진 탐색 트리 구현하기 🎄 (2) | 2019.02.08 |
[Python] itertools를 이용한 조합 (2) | 2019.02.07 |
[Python] 정규 표현식(Regular Expression) (0) | 2019.02.02 |
댓글
이 글 공유하기
다른 글
-
파이썬을 이용해서 순회 알고리즘을 구현해보자 ♻ (feat. DFS, BFS)
파이썬을 이용해서 순회 알고리즘을 구현해보자 ♻ (feat. DFS, BFS)
2019.02.08 -
파이썬을 이용해서 이진 탐색 트리 구현하기 🎄
파이썬을 이용해서 이진 탐색 트리 구현하기 🎄
2019.02.08 -
[Python] itertools를 이용한 조합
[Python] itertools를 이용한 조합
2019.02.07 -
[Python] 정규 표현식(Regular Expression)
[Python] 정규 표현식(Regular Expression)
2019.02.02