假設我有一個如下所示的字典,其中值是每個鍵在文本中顯示的概率。Python:Range()作爲字典值
dict = {'a':0.66,'b':0.07,'c':0.04 and so on so the values of the dict sum up to one}
說,我想建立另一個字典,這些值的範圍有價值。 由於我們不能使用range()和float,所以我試圖先將所有值乘以100,然後它們變成int。 假設我們想用它們的範圍替換這些值。因此,例如'a'將得到一個範圍(0,66),'b'範圍(66,73),'c'(73,77)等。 我試圖用下面的循環做到這一點,但它不' t工作:
start = 0
end = 0
for k,v in dict.items():
end+=int(v*100)
range_dict[k]=range(start,end)
start+=end
有人可以幫我嗎?我很想搞清楚該怎麼做!
你試圖實現加權隨機算法,對不對? – satoru
@ Satoru.Logic是 – user1718064
在最後一行,它應該是'開始=結束'而不是'開始+ =結束' – yakxxx