python中字典中的键计数

python中字典中的键计数,python,dictionary,count,Python,Dictionary,Count,我有dict样本: 具有此结构的dictsampledictsample.update({key:dif_k}),而dif_k具有此结构的dif_k.update({k:v}) 口述样本: {Object1 : { size : 14, cell: G, capacity : 35}, Object2 : { size : 14, load : 2}, Object3 : { size : 12, cell : F, load : 3, throughput : 55}, ...} 我需要这

我有dict样本:

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

口述样本:

{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,…}

你不能简单一点吗。像这样的事情不会起作用吗

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

试着做一些类似于这种听写理解的事情:

{k: len(v) for k,v in dictsample.iteritems()}
您也可以这样做:

the_list = {i:len(dictsample[i]) for i in dictsample.keys()}
这种方法不需要iteritems,而且更短

编辑:

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

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

您不需要
difk.keys()
。默认情况下,Python已经通过键对字典进行了迭代。因此,
dif_k
就足够了。作为上面的回答,这也很好,但我也遇到了同样的问题。这很好,但我在尝试转换到dataframe时遇到了一个问题:如果使用所有标量值,则必须传递一个我想要的索引df,第一列包含键,第二列包含计数值。谢谢,但在此之后,我在pandas中创建dataframe时遇到了同样的问题:如果使用所有标量值,则必须传递我在上面评论的索引。。。我需要把什么作为索引@AJAX1234如果需要字典中的数字索引,只需切换字典键和值。请看我最近的编辑。