次のような辞書があるとします。ここで、値は各キーがテキストに現れる確率です。
dict = {'a':0.66,'b':0.07,'c':0.04 and so on so the values of the dict sum up to one}
それらの値の範囲を持つ別の辞書を作成したいとします。価値があります。float で range() を使用できないため、最初にすべての値を 100 で乗算しようとしたため、int に変換されます。これらの値をその範囲に置き換えたいとします。たとえば、「a」は範囲(0,66)、「b」範囲(66,73)、「c」(73,77)などを取得します。次のループでそれを実行しようとしましたが、そうではありません仕事:
start = 0
end = 0
for k,v in dict.items():
end+=int(v*100)
range_dict[k]=range(start,end)
start+=end
誰か助けてくれませんか?私は何をすべきかを考え出しています!