単語が何回発生したかをマップするwordCounts
という辞書がありますが、n
という単語を辞書に入れてもいいですか?n
はネクタイがあればどうですか?Python辞書のトップ値を取得
1
A
答えて
2
前述の回答では、Counter
としてキャストして、このデータセットを扱いやすくしています。
>>> from collections import Counter
>>> d = {"d":1,"c":2,"a":3,'b':3,'e':0,'f':1}
>>> c = Counter(d)
>>> c
Counter({'b': 3, 'a': 3, 'c': 2, 'f': 1, 'd': 1, 'e': 0})
Counter
はn
最も一般的な要素になりますmost_common(n)
方法があります。 はの関係を除外します。したがって:へ
>>> c.most_common(4)
[('b', 3), ('a', 3), ('c', 2), ('f', 1)]
はn番目の要素に等しいすべての値が含まれ、あなたはCounter
に変換せずに、次のような何かを行うことができます。これはかなり面倒ですが、それはトリックを行う必要があります。
>>> d = {'b': 3, 'a': 3, 'c': 2, 'f': 1, 'd': 1, 'e': 0}
>>> most_common_inclusive(d, 4)
{'d': 1, 'b': 3, 'c': 2, 'f': 1, 'a': 3}
1
一つの解決策は次のようになります:
from collections import Counter, defaultdict
list_of_words = ['dog', 'cat', 'moo', 'dog', 'pun', 'pun']
def get_n_most_common(n, list_of_words):
ct = Counter(list_of_words)
d = defaultdict(list)
for word, quantity in ct.items():
d[quantity].append(word)
most_common = sorted(d.keys(), reverse= True)
return [(word, val) for val in most_common[:n] for word in d[val]]
やテスト:
>> get_n_most_common(2, list_of_words)
=> [('pun', 2), ('dog', 2), ('moo', 1), ('cat', 1)]
>> get_n_most_common(1, list_of_words)
=> [('pun', 2), ('dog', 2)]
1
MooingRawrは正しい軌道に乗っている、次のようにあなたが使用することができます
from collections import Counter
def most_common_inclusive(freq_dict, n):
# find the nth most common value
nth_most_common = sorted(c.values(), reverse=True)[n-1]
return { k: v for k, v in c.items() if v >= nth_most_common }
しかし、今我々はトップを取得する必要がありますn
結果
l = []
for i, (word, count) in enumerate(sorted(d.items(), reverse=True, key=lambda x: x[1])):
if i >= n and count<l[-1][1]:
break
l.append((word, count))
+1
私は列挙型(...)で 'for i、(word、count)'に修正し、 'i> = n'を使用します。 – brianpck
+0
@brianpck優秀な点。私は良い方法があることを知っていたが、今日は私にとっては遅い日だった –
関連する問題
- 1. 辞書のpythonのトップ要素を取得
- 2. Pythonのたびに辞書を参照せずに辞書値を取得
- 3. python:辞書のキーを取得する
- 4. 配列内の辞書値のベクトルを取得する、Python
- 5. 辞書のpythonで特定の値を取得するには?
- 6. Pythonは、リスト内の辞書から値を取得
- 7. Pythonで辞書値の整数出力を取得する
- 8. 特定の辞書値を取得中 - Python
- 9. python辞書から一意の値を取得
- 10. Python辞書から特定の値を取得する方法
- 11. Python辞書の値に基づいてキーを取得する
- 12. Pythonで辞書値を取得する方法
- 13. 辞書スウィフトから辞書を取得
- 14. 辞書のキー/値のpython
- 15. Python辞書の最大値
- 16. Python辞書の最大値
- 17. Pythonの辞書値更新
- 18. Pythonの他の辞書の値で辞書をソート
- 19. 辞書辞書python
- 20. Python:辞書のリストのあるタイプのキーのすべての値を取得
- 21. Pythonスパース辞書/反復値
- 22. Pythonの辞書リストで特定のキーの値をすべて取得する
- 23. Python:辞書の特定のグループの最大値を取得する方法は?
- 24. 辞書の最大値と最小値を取得する
- 25. 辞書のpython辞書
- 26. Python:キーのポインタで辞書の値を取得または設定する
- 27. 年の列のトップ "x"値の取得
- 28. Pythonの辞書から値を取得する最も良い方法
- 29. Pythonで次のキーに達するまで辞書から値を取得
- 30. ネストされた辞書からキーと値を取得するPythonの方法
「トップ」とは、単語数が最も多いと思いますか? – Soviut
あなたがこれまでに試したことを示してください。 – Soviut
@ソビエットはい、それは正しいです。私はPythonを一度も使用していないし、このための関数が組み込まれているかもしれないという気持ちがある。 – Clip