我有一个可能值的范围,例如:Python:列表尽可能平均分布的子集?
possible_values = range(100)
我与该范围内的非系统性(但唯一)号的列表,例如:
somelist = [0, 5, 10, 15, 20, 33, 77, 99]
我想创建一个包含这些值的子集但长度尽可能均匀分布在可能值范围内的新列表(长度为< len(somelist))。例如:
length_newlist = 2
newlist = some_function(somelist, length_newlist, possible_values)
print(newlist)
,然后这些理想的输出类似
[33, 77]
所以我既不想进行随机抽样,也避免了等间隔的整数选择一个样本。我想根据一个分布(这里是一个统一的分布)对可能值的区间进行抽样。 有没有一个功能或简单的方法来实现这一点?
根据价值或在列表中的位置分发? –
我的意思是关于可能值的范围。如果可能的值是从0到100,但列表是倾斜的,例如[0,5,10,15,20,33,77,99],我应该选择两个值,这将是[33,77],而不是[10,33](将在指数中平均分配)。我用这个例子编辑了我的答案,希望更清楚我的意思。 –