在python中计算字典中的键

时间:2017-03-28 21:25:23

标签: python dictionary count

我有dict样本:

dictsample具有此结构dictsample.update({key: dif_k}),而dif_k具有此结构dif_k.update({k:v})

dictsample:

{Object1 : { size : 14, cell: G, capacity : 35}, Object2 : { size : 14, load : 2}, Object3 : { size : 12, cell : F, load : 3, throughput : 55}, ...} 

我需要这样的输出:

{Object1 : 3, Object2 : 2, Object3 : 4, ...}

我尝试过的代码:

ct = {}
for key, dif_k in dictsample.iteritems():
    for k, v in dif_k.iteritems():
        dictcounter = k.count(k)
        ct.update({key:dictcounter})

我得到的只是:     {Object1:1,Object2:1,Object3:1,...}

3 个答案:

答案 0 :(得分:3)

尝试类似这样的dict理解:

{k: len(v) for k,v in dictsample.iteritems()}

答案 1 :(得分:1)

你能不能做得更简单一些。不会有这样的事情吗?

ct = {}
for key in dictsample:
    ct[key] = len(dictsample[key])

答案 2 :(得分:1)

你也可以这样做:

the_list = {i:len(dictsample[i]) for i in dictsample.keys()}

这种方法不需要iteritems,而且更短。

编辑:

要通过数字元素访问值,请尝试以下操作:

the_list = {len(dictsample[i]):i for i in dictsample.keys()}