-
sorted(iterable) 함수는 입력값을 정렬한 후 그 결과를 리스트로 반환하는 함수다.
>>> sorted([333,1,22]) [1, 22, 333] >>> sorted("string sort") [' ', 'g', 'i', 'n', 'o', 'r', 'r', 's', 's', 't', 't'] >>> sorted([333,1,22], reverse=True) [333, 22, 1]
리스트 자료형의 sort 함수는 리스트 객체 그 자체를 정렬만 할 뿐 정렬된 결과를 반환하지 않는다.
모든 iterable자료구조에 사용가능.
>>> sorted({11: 'a', 22: 'b', 33: 'c', 77: 'd', 44: 'e'}) [11, 22, 33, 44, 77] >>> sorted({11: 'D', 22: 'B', 33: 'B', 77: 'E', 44: 'A'}, key=lambda x:-x) [77, 44, 33, 22, 11]
class에 lambda적용한 정렬 기준 변경.
class Ca: def __init__(self, ia, ib): self.mA = ia self.mB = ib def __repr__(self): return repr((self.mA, self.mB)) alist = [ Ca(11, "bb"), Ca(22, "aa"), ] >>> sorted(alist, key=lambda x: x.mA) [(11, 'bb'), (22, 'aa')] >>> sorted(alist, key=lambda x: x.mB) [(22, 'aa'), (11, 'bb')] >>>
사용자 정의 비교 함수
def mycompare(x, y): return x - y sorted([5, 2, 4, 1, 3], cmp=mycompare) [1, 2, 3, 4, 5]
'Python' 카테고리의 다른 글
Python - permutations 클래스 함수 (0) 2020.09.06 Python - tuple() 클래스 함수 (0) 2020.09.06 Python - dict() 클래스 함수 (0) 2020.09.06 Python - reduce 함수 (0) 2020.09.06 Python - round 함수 (0) 2020.09.05 Python - range 함수 (0) 2020.09.05 Python - min(), max() 함수 (0) 2020.09.05 Python - map 클래스 함수 (0) 2020.09.05