1
我有一个包含key:value(list)的字典。我想对词典中列表中的第一个元素进行频率计数。在Python中获取字典中值的第一项的频率计数
的字典看起来像一个例子:
dict_id = {'id_111': ['10'], 'id_222': ['10', '10'], 'id_234': ['9'], 'id_654': ['13', '10'], ..}
期望的结果:
[(['10'], 2), (['9'], 1), (['13'], 1), ...]
这是我已经试过,但它使用的整个列表为重点的第一个元素,而不是列表。
newDict = [(k, len(list(v))) for k, v in itertools.groupby(ids.values())]
print newDict
>> [(['10'], 1), (['10', '10'], 1), (['13', '10'], 1), ...]
任何帮助表示赞赏。
只是喜欢那些'Counter'问题指定的格式:P –
>>> dict_id = { 'id_111':” 10 '], 'id_222':[' 10' , '10'], 'id_234':[ '9'], 'id_654':[ '13', '10'], 'id_333':[ '10' , '7']} >>>打印计数器(dict_id [K] [0]对于k在dict_id) 计数器({ '10':3, '9':1, '13':1}) 爵士你只是检查[k] [0]。不在这种情况下工作。 –
@TanveerAlam我相信这是OP正在寻找:) – thefourtheye