2016-12-12 65 views
0

我想只能排名的一部分,並忽略列表中的一些元素。我想忽略-999的元素,並且排列不高到低的元素。Python只是列表的一部分

例如:

test_cut = [0.18677649597722776, 0.21992417009282958, 0.21001370207789635, -999, -999, -999] 

我想要得到的[3,1,2,0,0,0]

的結果,但如果我這樣做,它會排在-999而且,我想要的值是0。

[sorted(test_cut, reverse=True).index(i) + 1 for i in test_cut] 

輸出:

[3, 1, 2, 4, 4, 4] 

回答

0

你可以把一個條件語句列表理解裏面,像下面這樣:

[sorted(test_cut, reverse=True).index(i) + 1 if i != -999 else 0 for i in test_cut] 
+0

非常感謝氮雜,應該已經能夠身影那個,我累了。大聲笑。 – WhitneyChia

+0

你打賭。請將回答標記爲已接受,如果這對您有幫助。 –

相關問題