2016-12-02 59 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”之前。

相关问题