我正在写两个anidated类,一个是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()
和一些索引对象
和列表子参数
实现数据树的最正确方法是什么?任何想法?
答案 0 :(得分: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]