파이썬의 sorted 함수는 콜렉션(List, Tuple, 등) 및 배열을 정렬할 수 있다.
정렬 키를 lambda를 사용해서 깔끔히 정렬되는 것을 보니 깔끔해 보인다.
print("List")
lst = ['cc', 'aa', 'ba', 'md']
print(list)
print("origin-", lst)
print("sort-", sorted(lst))
print("sort(reverse)-", sorted(lst, reverse=True))
print("\n")
print("\n")
print("Tuple")
tup = [('cc', 3), ('aa', 2), ('ba', 5), ('md', 4)]
print("origin-", tup)
print("sort-", sorted(tup, key=lambda tup: tup[1]))
print("sort(reverse)-",sorted(tup, key=lambda tup: tup[1], reverse=True))
print("\n")
print("\n")
print("Class")
class Member:
def __init__(self, id):
self.id = id
def __repr__(self):
return repr(self.id)
members = [Member(1), Member(10), Member(5), Member(4)]
print("origin-", members)
print("sort-", sorted(members, key=lambda member: member.id))
print("sort(reverse)-", sorted(members, key=lambda member: member.id, reverse=True))
예제 결과는 다음과 같다.
List
<class 'list'>
origin- ['cc', 'aa', 'ba', 'md']
sort- ['aa', 'ba', 'cc', 'md']
sort with reverse- ['md', 'cc', 'ba', 'aa']
Tuple
origin- [('cc', 3), ('aa', 2), ('ba', 5), ('md', 4)]
sort- [('aa', 2), ('cc', 3), ('md', 4), ('ba', 5)]
sort with reverse- [('ba', 5), ('md', 4), ('cc', 3), ('aa', 2)]
Class
origin- [1, 10, 5, 4]
sort- [1, 4, 5, 10]
sort(reverse)- [10, 5, 4, 1]
Process finished with exit code 0
Empty test suite.
'python' 카테고리의 다른 글
flask 환경 구성하기 (0) | 2017.09.19 |
---|---|
pyenv 설치 방법 (0) | 2017.09.19 |
[python3] python3에서 자주 실수하는 부분 (0) | 2017.07.18 |
[python3] dict()의 in의 의미 (0) | 2017.07.11 |
[python3] 맥에서 spyder 설치/실행 (0) | 2017.04.28 |