python - 以给定的概率从字典中随机选择一个单词
问题描述
我有一本字典,其中包含以下单词及其被选中的概率:
dic = {'A': 0.2, 'B': 0.45, 'C': 0.35}
我想根据其相关概率随机选择 1 个单词。所以“B”被选中的概率最高。我试过使用random.choice
,random.choices
但它不起作用。这是我尝试过的:
next_word = random.choices(dic.keys(), weights=dic.values(), k=1)
我明白了TypeError: 'dict_keys' object is not subscriptable
请建议我如何做到这一点。
解决方案
import random
dic = {'A': 0.2, 'B': 0.45, 'C': 0.35}
next_word = random.choices(list(dic.keys()), weights=list(dic.values()), k=1)
next_word
推荐阅读
- python - 从列中提取数据
- sql - 如何查看两张表之间的差异
- jquery - 使我的网站的某些部分更具移动性和不同的屏幕分辨率尺寸友好
- c# - C# 信号量没有按预期工作,无法弄清楚原因
- google-analytics - 为什么只有一个页面的网站没有 100% 的跳出率
- amp-html - 在 google-amp 中的页面加载时运行脚本并验证为 amp-page
- redis - 如何在 REDIS 中标记一个键,以便稍后我可以删除与该标记匹配的所有键?
- javascript - 我的代码不刷新就无法工作。它没有显示正确的页面颜色
- swift - 更改 IBOutlet 标题时意外发现 nil
- javascript - 如何将两个 html 表单与一个谷歌表格链接?