我想从三个列表中随机选择一个项目,其中每个列表代表不同的选择概率。
我有三个列表(也可以是 3 个数组):高、中和低“优先级”。
我想从这三个列表中优先选择一项
例如,从高 70% 的机会,从 20% 的中,从低的 10%
但是,某些列表可能为空(并非全部)
至少在其中一个列表中有一项
我正在寻找可以做到的算法(任何语言,但更喜欢 C# Java Python)
我尝试了以下代码(Python),但由于空条件有时没有选择任何项目,即使有一个项目,它也无法完成这项工作。
x = random.randint(1,100)
if x < 71 and highChance != []:
return random.choice(highChance)
elif x >=71 and x < 91 and midChance != []:
return random.choice(midChance)
elif lowChance != []:
return random.choice(lowChance)