可能重复:
带和不带放回的加权随机选择
我有一个很长的项目对象列表。我想根据概率从列表中随机选择一个项目。该列表如下所示:
class Item:
def __init__(self, pid, hits, qtyPerOrder):
self.pid = pid
self.bay = hits
self.qtyPerOrder = int(qtyPerOrder)
itemList = [('RGSCAF', 181 ,6), ('WAR10227', 54 ,3), ('AD2020WOC', 31 ,4)]
基本上,我想要一个函数来遍历列表,根据命中分配概率权重,然后根据概率随机选择 n 个对象。因此,在此示例中,返回对象 ('RGSCAF', 181 ,6) 的概率更高,因为它具有最高的命中值。