2024-04-25 09:59:20 发布
网友
假设我有一本由字符串组成的字典,它们出现的概率为%,就像这样:
{"a": 0.2, "b": 0.6, "c": 0.1, "d": 0.1}
如何使它返回"a" 20% of the time、"b" 60% of the time和"c" and "d" each 10% of the time?你知道吗
"a" 20% of the time
"b" 60% of the time
"c" and "d" each 10% of the time
尝试我的解决方案:
st = {"a": 0.2, "b": 0.6, "c": 0.1, "d": 0.1} g = dict((x, str(int(st[x] * 100)) + "% of the time") for x in st) print(g) {'a': '20% of the time', 'b': '60% of the time', 'c': '10% of the time', 'd': '10% of the time'}
你需要random.choices
random.choices
import random x = {"a": 0.2, "b": 0.6, "c": 0.1, "d": 0.1} print(random.choices(list(x.keys()), list(x.values()), k=1)[0])
编辑
要使其可重用,请编写函数:
def get_number(x): return random.choices(list(x.keys()), list(x.values()), k=1)[0] import random x = {"a": 0.2, "b": 0.6, "c": 0.1, "d": 0.1} print(get_number(x))
在random.choices
尝试我的解决方案:
你需要
random.choices
编辑
要使其可重用,请编写函数:
在
random.choices
相关问题 更多 >
编程相关推荐