이 문서의 내용은 사용자 정의 클래스 객체를 정렬하는 Python 구현에 대한 것입니다(attrgetter 사용). 이는 특정 참조 값을 가지고 있으므로 도움이 필요할 수 있습니다.
1. 요구사항
사용자 정의 클래스로 구성된 목록을 정렬합니다.2. 솔루션
내장된 sorted() 함수는 호출 가능 개체를 전달하는 데 사용되는 매개 변수 키를 받아들이고, 호출 가능 개체는 정렬할 개체의 특정 값을 반환한 다음 이를 사용합니다. 객체를 비교하는 값.
예:
from operator import attrgetter class User: def __init__(self,userId): self.userId=userId def __repr__(self): return 'User({})'.format(self.userId) users=[User(40),User(20),User(30)] print(users) #方法1 print(sorted(users,key=lambda u:u.userId)) #方法2 print(sorted(users,key=attrgetter('userId')))
실행 결과:
[User(40), User(20), User(30)] [User(20), User(30), User(40)] [User(20), User(30), User(40)]
attrgetter는 일반적으로 조금 더 빠릅니다. 위의 계산은 min() 및 max() 함수에도 적용됩니다.
위 내용은 Python은 사용자 정의 클래스 객체 정렬을 구현합니다(attrgetter 사용).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!