我已經有包含這樣的值的字典 {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