我已经有包含这样的值的字典 {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. 计算DataFrame中的字词频率
- 7. 计算频率
- 8. 计算频率
- 9. 使用字典计算数据的频率
- 10. 计算字符串的频率
- 11. 在Prolog中计算字词频率
- 12. 计算事件的频率
- 13. Python字典频率
- 14. 在Python中获取字典中值的第一项的频率计数
- 15. 计算总值字典
- 16. 计算频率的有效算法?
- 17. 如何计算Python中的频率?
- 18. 计算数组中元素的频率
- 19. 计算R中频率的百分比
- 20. 计算列表中项目的频率
- 21. 计算Python中列的单词频率
- 22. 在MySQL中计算选票的频率
- 23. c#中的信号计算频率.net
- 24. 按因子计算的累计频率
- 25. 将重复值的列表转换为Python中的频率计数字典
- 26. 使用Python计算数字频率
- 27. 使用函数计算字符(频率)
- 28. 计算单词频率并从中制作词典
- 29. 有效计算字符串中的字词频率
- 30. 计算字符串中不同字符的频率数
(对于大型辞书,'.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