클래스 클래스 메서드를 작성하여 정적 클래스 변수로 저장하거나 하위 클래스에 저장하거나 사전을 사용하여 클래스의 특성을 정렬 또는 정렬 또는 더 정교한 정렬 메서드를 작성해야합니까?클래스 속성 사전에 의해 상속 된 클래스 인스턴스 목록 정렬 Key
저는 python 멍청한 놈입니다. 나는 람다 키 정의, itemgetter 및 attrgetter에서 정렬 된 정렬 &을 정렬하여 "my_sorter"메소드를 작성하려고 시도했으며 구문에 실패한 경우 확실하지 않습니다. 이러한 혼합 된 중첩 구조에 액세스하거나 목록에서 의도적으로 항목을 이동시키기 위해보다 정교한 정렬 루틴을 작성하지 않으면 불가능한 경우에만 사용할 수 있습니다.
각 하위 클래스에는 속성 사전의 "기본 키"(즉, 순 정렬 기준)를 식별하는 "mindex"라는 정적 변수가 있습니다. my_sorter() 메서드는 어떻게 생겼을까요?
class Engine():
storage = []
@classmethod
def my_sorter(cls):
#sort cls.storage by cls.mindex
class Person(Engine):
mindex = 'Name'
def __init__(self, name):
self.attributes = {
'Name' : name,
}
class Meeting (Engine):
mindex = 'Date'
def __init__(self, date):
self.attributes = {
'Date' : date,
}
_ 정적 클래스 변수로 저장된 클래스 객체의 목록을 하위 클래스에 정렬 할 수있는 기본 클래스 메소드를 작성할 수 있습니다. 사전의 키는 정렬 또는 정렬을 사용하는 클래스의 속성입니다 또는 더 정교한 정렬 방법을 써야합니까? _ 다시하시기 바랍니다. – Elmex80s
아마도이 방법으로 기대되는 것에 대한 예를 제공해 주시겠습니까? –
'Person'과'Meeting'은 같은'storage'리스트를이 방식으로 공유하려고합니다. 그게 정말로 당신이 원하는 일입니까? (아마도'storage'를 클래스 속성으로 만들어서는 안되며, 전역 상태가 변경 될 수 있으며, 아마도이 클래스의 책임이 아닌 것입니다. 또한 중괄호를 사용하면 문제가 발생할 수 있습니다.) – user2357112