2016-12-02 81 views
0

當我輸入「排序」函數的「鍵」參數是做什麼的?

print sorted([10, 4, 2, 12, 3], key=str, reverse=True) 

爲什麼是結果:

[10,12,2,3,4]

+0

答案[這裏](https://stackoverflow.com/questions/34865217/how-can-i-sort-by-single-criterion)非常全面。 – user3030010

+0

結果不像你說的那樣。它是'[4,3,2,12,10]',因爲'reverse'參數是'True'。無論如何,使用python [文檔](https://docs.python.org/2/library/functions.html#sorted)查找問題的答案應該是微不足道的! –

回答

0

該密鑰將每個元素髮送到str函數用於比較目的。當字符串排序時,它們按字母順序進行比較。由於'1'之前是'2','12'出現在'2'之前,與'and'出現在'ball'之前相同。沒有像字符串中的位置值這樣的東西,就像數字一樣。

0

因爲你可以通過字符串表示對它們進行排序,它使用詞典排序:按第一個字符排序,如果這些字符相同,則比較下一個字符。所以就像字典中的「蜜蜂」之前,「10」在「2」之前,因爲字符「1」在字符「2」之前。

相關問題