我已经有包含这样的值的字典 {a:3,b:9,c:88,d:3} 我想计算特定数字出现在上面字典中的次数。 例如,在上述词典3字典 出现两次请帮忙写python脚本计算字典中的值的频率
3
A
回答
9
你应该使用collections.Counter
:
>>> from collections import Counter
>>> d = {'a':3, 'b':9, 'c':88, 'd': 3}
>>> Counter(d.values()).most_common()
[(3, 2), (88, 1), (9, 1)]
1
我会使用一个defaultdict做到这一点(基本的更一般的版本柜台)。这已经在2.4以来。
from collections import defaultdict
counter = defaultdict(int)
b = {'a':3,'b':9,'c':88,'d':3}
for k,v in b.iteritems():
counter[v]+=1
print counter[3]
print counter[88]
#will print
>> 2
>> 3
+2
使用'itervalues' ...注意你的代码片段中没有使用'k'吗? – 2012-02-22 19:47:02
相关问题
- 1. Python:计算字典中的频率
- 2. 计算字符频率在短语频率字典python 3
- 3. 计算数组中值的频率
- 4. 动态计算频率值?
- 5. 计算频率
- 6. 计算事件的频率
- 7. Python字典频率
- 8. 计算总值字典
- 9. 计算频率的有效算法?
- 10. c#中的信号计算频率.net
- 11. 在MySQL中计算选票的频率
- 12. 计算Python中列的单词频率
- 13. 计算数组中元素的频率
- 14. 按因子计算的累计频率
- 15. 将重复值的列表转换为Python中的频率计数字典
- 16. 使用Python计算数字频率
- 17. 使用函数计算字符(频率)
- 18. 有效计算字符串中的字词频率
- 19. 计算字符串中字符的频率C++
- 20. 用于计算Spark中频率(值的等级)的UDF
- 21. 计数频率值
- 22. 期限频率计算
- 23. C#字典计算组值的总和
- 24. 字频计算中的ArrayIndexOutOfBoundsException
- 25. 计算.txt文件中的十六进制字符的频率
- 26. 计算一个数组中的数字的频率
- 27. 从字典中计算和绘制年份的增长率
- 28. 在字典中计算价值Perentages
- 29. 如何计算矢量中每个值的出现频率?
- 30. Python,在另一列中计算值的发生频率
(对于大型辞书,'.itervalues()'可能是PY 2.X更有效) – Amber 2012-02-22 18:55:50
好一点。但是因为我个人使用Python 3,并且'values'恰好适用于这两个版本,所以我只是将必要的更改添加到Python 2程序员必须解决的怪癖列表中;) – phihag 2012-02-22 19:02:02
是的。 :)只是注意到未来的读者,而不是建议你改变你的答案。 – Amber 2012-02-22 21:11:17