0
更新時,我有一個以下詞典(嵌套):錯誤在Python字典不參考
d = {'q0': {'VB': 2, 'NN': 8}, 'VB': {'DT': 5, 'NN': 3, 'IN': 2}}
我的目標是更新存在於上述字典概率的值。那麼計算爲P(VB|q0) = count of verb/total count of q0
因此P(VB | q0)= 2/10來自給定詞典。每一個關鍵的類似的計算後,我的新詞典應該像
d_new = {'q0': {'VB': 0.2, 'NN': 0.8}, 'VB': {'DT': 0.5, 'NN': 0.3, 'IN': 0.2}}
現在我寫的實現上面是如下代碼:
d = {'q0': {'VB': 2, 'NN': 8}, 'VB': {'DT': 5, 'NN': 3, 'IN': 2}}
d_new = {}
d_new.update(d)
for key in d.keys():
for i in d[key].keys():
d_new[key][i] = d[key][i]/ float(sum(d[key].values()))
這給我結果爲:
{'q0': {'VB': 0.2, 'NN': 0.9756097560975611}, 'VB': {'DT': 0.5, 'NN': 0.5454545454545454, 'IN': 0.6567164179104478}}
我假設原來的d也正在更新。爲了防止這種情況,我使用了更新()。但它似乎並不奏效。我怎樣才能得到想要的結果?
查找到'copy.deepcopy'。 –
非常感謝!我不知道現有的問題。我試過但在google上找不到任何東西。 –