我的程序計算的時間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算法) –