あなたはまたcollections.defaultdict
とcollections.Counter
を見て検討する必要があります。
defaultdict
が自動的Counter
がカウントのために、具体的dict
で、デフォルト値を記入します:
from collections import defaultdict
from collections import Counter
sent = [[('Merger', 'NOUN'), ('proposed', 'VERB')], [('Wards', 'NOUN'), ('protected', 'VERB')]]
dicts = defaultdict(Counter) # A default dictionary of Counters
for x in sent:
for y in x:
dicts[y[0]][y[1]] += 1
print(dicts)
# defaultdict(<class 'collections.Counter'>, {'Merger': Counter({'NOUN': 1}), 'proposed': Counter({'VERB': 1}), 'Wards': Counter({'NOUN': 1}), 'protected': Counter({'VERB': 1})})
Counter
をスキップする場合は[0]あなたが高担当者の人から2件の迅速な回答を得たが、私は `dicts [Yの有用性を理解するのに苦労してい
from collections import defaultdict
def int_dict():
return defaultdict(int)
dicts = defaultdict(int_dict)
for x in sent:
for y in x:
dicts[y[0]][y[1]] += 1
print(dicts)
# defaultdict(<function a at 0x112c48048>, {'Merger': defaultdict(<class 'int'>, {'NOUN': 1}), 'proposed': defaultdict(<class 'int'>, {'VERB': 1}), 'Wards': defaultdict(<class 'int'>, {'NOUN': 1}), 'protected': defaultdict(<class 'int'>, {'VERB': 1})})
出典
2017-03-03 00:46:47
pml
:、あなただけ
defaultdict(int)
を返し、引数をとらないヘルパー関数を使用することができます] [y [1]] + = 1 'である。あなたはどんなアウトプットを期待していますか? – roganjosh@roganjoshこんにちは私は入れ子になった辞書を作成しようとしています。合併:{名詞:1}} –
私はTerryAの編集された答えで実際に対処されていると思います。それはちょうどよく見えませんでした、私は何かの流れが起こっていたかどうか疑問に思った。 – roganjosh