我的程序计算的时间3个不同的值出现,并将它们存储在列表中像这样的classes = [class1,class2,class3]
如何随机返回Python中列表中最大元素之一的索引?
我想返回的最大价值的指标数量,但这些价值往往是重复的。如果是这样的话,我想返回一个在最大值之间随机选择的索引。
例如,如果我有classes = [5,2,5]
,我想输出是0或2。 如果我有classes = [1,1,1]
,0,1和2是细。 最后,如果我有classes = [1,10,1]
,我想要输出1.
到目前为止,我已经将其他问题拼凑在一起,但这不是我想要的方式,我也不明白为什么。
classes = [class1,class2,class3]
dupes = [n for n, x in enumerate(classes) if x in classes[:n]]
class_prediction = dupes[random.randint(0,len(dupes))] + 1
(+1末是返回实际的类标签,而不是指数。)
要澄清,你真的需要随机选择其中之一? (这不是,例如,只是返回第一个最大值的索引是可以的?) – smarx
@smarx是的,正好。如果我总是返回第一个,那么class1在我的结果中会过多。 (我正在实施KNN算法) –