-1

私は2つのアニメーション化されたクラスを書いています.1つはdictで、もう1つはリストですか? 言われたように2番目に問題があり、dictは次のように機能し、

class Field( dict ):        
    def __keys__(self): 
        self.k = self.keys()
        return list(self.k)

    def __setattr__( self, attr, value):
        self[attr] = value

次のように追加する代わりに、

class Store(list):

dict()代わりに、いくつかのインデックス オブジェクトとリスト サブ引数で同じ高いパフォーマンスを使用したいと考えています。

データツリーを実装する最も正しい方法は何ですか? 何か案は?

4

1 に答える 1

2

私は答えを仮定するつもりです。オブジェクトのコレクションを整理しながら、オブジェクトのコレクションにすばやくアクセスしたいと思います。のような単純なもので逃げることができるかもしれませんordereddict。そうでない場合、このようなことが近づく可能性があります。それはあなたのデータに依存します。

class Container(object):
  def __init__(self):
    self.data = []
    self.byid = {}

  def setData(self, listofdicts):
    for item in listofdicts:
      id = item['id'] # Something here that's meaningful.
      self.data.append(item)
      self.byid[id] = item

  def getByPos(self, idx):
    return self.data[idx]

  def getById(self, itemid):
    return self.byid[itemid]
于 2012-06-26T04:12:54.590 に答える