クラスクラスのメソッドを静的クラス変数として格納し、子クラスに格納したり、辞書、それは、並べ替えまたはソートを使用して、クラスの属性ですか、より精巧なソート方法を記述する必要がありますか?継承されたクラスインスタンスのリストをクラス属性の辞書でソートするキー
私はPythonのnoobのだと私はラムダキー定義、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