謝謝你的幫助。我是python的新手。也感謝您的耐心。我試圖生成一個字典,它將值列表中的每個值除以值列表中所有值的總和,以獲得該值表示任何給定鍵的總和的相對比例。python字典將總價值列表中的每個值除以總數
大約有8,000個唯一鍵,每個鍵的值在1到20之間。
以下是將兩個列表(k,v)成功組合成字典後選取的代碼片段。
(注意最後的循環是在錯誤發生時)
from collections import defaultdict
d = defaultdict(list)
for k, v in values:
d[k].append(v)
print list(d.items())
print語句生成密鑰和看起來像這樣的值列表的列表...,(「030502060106」,[20008611.2 ,26323531.9,18983267.9,38024346.8]),......
for key in d:
dd[key] = sum(d[key])
print list(dd.items())
print語句生成密鑰和值列表的列表,看起來像這樣(請注意值高於值的總和)... 。,('030502060106',[2103339755]),.....
for key in d:
ddd[key] = [d[key]/sum(d[key])]
print list(ddd.items())
這裏會出現錯誤在此,用於與下面的錯誤消息類型錯誤循環:不支持的操作數類型(個),/:「列表」和「浮動」
如何可以在新的字典可以與密鑰生成以及值列表,其中值列表中的每個值被值的總和歸一化(劃分)?
的第一個for循環print語句後造型,它是這樣的......( '030502060106',[0.193619687,0.254728018,0.18369762,0.367954675]),......
嘗試鑄造你的列表值作爲浮動,像這樣:浮置(名單) – digitaLink