>
내가 lst 목록을 가지고 있다고 가정  일부 개체의.

sorted(lst) 를 수행하는 데 사용되는 객체의 값  키 기능이 제공되지 않는 경우 해시입니까 아니면 일부 아이디입니까?


  • 답변 # 1

    키가 없으면 sort  독점적으로 < 를 사용합니다  이 예에서 설명 된 것처럼 연산자 :

    class A:
        def __init__(self,a):
            self.a = a
        def __lt__(self,other):
            return self.a < other.a
        def __repr__(self):
            return str(self.a)
    lst = [A(12),A(10),A(44)]
    print(sorted(lst))
    
    

    여기 :

    [10, 12, 44]
    
    

    sort  정의 된 __lt__ 를 사용함  (보다 작음) 연산자는 내부적으로 만 우수하지는 않습니다. 정렬은 < 에서만 수행됩니다.  연산자.

    (와이즈 비즈 주석하기  연산자는 __lt__ 로 연결 )

  • 답변 # 2

    Python TypeError: unorderable types: A() < A()

    와이즈 비즈

    참조 : list.sort ()

    sort()

  • 이전 odoo 필드 이름을 바꾸고 싶습니다
  • 다음 javascript - 선택한 이전 값을 ajax에 저장 한 다음 해당 값을 사용하여 페이지로드 후 선택