> 백엔드 개발 > 파이썬 튜토리얼 > Python은 사용자 정의 클래스 객체 정렬을 구현합니다(attrgetter 사용).

Python은 사용자 정의 클래스 객체 정렬을 구현합니다(attrgetter 사용).

不言
풀어 주다: 2018-10-20 14:50:03
앞으로
2455명이 탐색했습니다.

이 문서의 내용은 사용자 정의 클래스 객체를 정렬하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿