파이썬의 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
Posted by '김용환'
,