사전형 정렬
by St1tch출처 : http://blog.naver.com/PostView.nhn?blogId=msyang59&logNo=220627524714
1. 정렬
파이썬의 사전은 key : value 쌍으로 값이 들어 있으며, 이를 정렬(sort)하면 기본으로 키(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']
이를 키가 아닌 값(value)를 기준으로 정렬하려면, sorted의 key 매개 변수에 lambda 함수를 사용하여 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() 정렬
사전에서 제공되는 items() method를 사용하면 튜플(tuple) 항목들로 이뤄진 목록을 만들어 줍니다. 이를 정렬하면 역시 사전의 key로 정렬한 것과 같이 됩니다.
값(value)로 정렬하려면,
>>> sorted(fruits.items(), key=lambda t : t[1])
[('melon', 0), ('plum', 1), ('banana', 1), ('pear', 2), ('apple', 2)]
블로그의 정보
튜기's blogg(st1tch)
St1tch