ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python - sorted 함수
    Search: Python Python 2020. 9. 5. 13:39

    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

    댓글