二维字典的大小

时间:2013-05-02 08:30:09

标签: python dictionary python-2.x

查找2D字典大小的有效方法是什么?我目前正在使用这个oneliner:

sum((len(v) for v in d.itervalues()))

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

如果你假设2D字典是一个标准的python字典,那里的值又是python字典,没有比迭代这些值更有效的方法。

但是,如果2D字典被定义为实现了几个特殊命名方法的类Dict2D的某个实例,并且其值不是“正常”dicts,而是一些{{1}像智能足以更新其父dict的'大小'的类,那么你就能做到:

Dict2D

实现这样的d2d = Dict2D() # various assignments and updates .. d2d['abc']['def'] = 1 d2d['ghi'] = {x = 4, y = 3} d2d['abc'] = dict(klm=8, answer=42) .... print d2d.size() 是否有意义取决于你想要的透明程度,以及你需要在更改之间经常计算大小。