是否可以编写一个基类方法来排序子类中作为静态类变量存储的类对象列表(通过字典中的键,即使用sort或sorted的类的属性),或者是否需要编写一个更详细的排序方法?你知道吗
我是一个python noob,我尝试使用sort&sorted编写“my_sorter”方法,尝试lambda键定义、itemgetter和attrgetter,不确定是否在访问这些混合嵌套结构的语法方面失败,或者如果不编写更详细的排序例程就无法访问这些结构在列表中移动条目。你知道吗
请注意,每个子类都有一个名为“mindex”的静态变量,用于标识其属性字典的“主键”(即排序依据的唯一值)。 my\u 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,
}
您不会在任何地方显示对象在
storage
列表中是如何结束的,但是假设您已经正确地工作了(并且没有意外地在Engine.storage
中混合使用不同子类的对象),排序应该非常简单。你知道吗我有点怀疑你的
Person
和Meeting
类是否应该是Engine
的子类。对我来说这不像是一种关系。如果我知道整个项目的设计,也许会更有意义。你知道吗相关问题 更多 >
编程相关推荐