首页 > 解决方案 > 以给定的概率从字典中随机选择一个单词

问题描述

我有一本字典,其中包含以下单词及其被选中的概率:

dic = {'A': 0.2, 'B': 0.45, 'C': 0.35}

我想根据其相关概率随机选择 1 个单词。所以“B”被选中的概率最高。我试过使用random.choicerandom.choices但它不起作用。这是我尝试过的:

next_word = random.choices(dic.keys(), weights=dic.values(), k=1)

我明白了TypeError: 'dict_keys' object is not subscriptable

请建议我如何做到这一点。

标签: pythonrandom

解决方案


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

推荐阅读