Python高级函数(三)
sorted()函数 排序算法在各种程序中都有广泛的应用,排序的核心就是按照某种规则比较所谓的“大小”,然后交换位置,如果是数字,我们可以直接比较,但如果是字符串或者两个字典呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。 Python的内置sorted函数就可以对list进行排序。 >> > sorted ( [ 36 , 5 , 15 , - 9 , 12 , 24 ] ) [ - 9 , 5 , 12 , 15 , 24 , 36 ] 此外,sorted()也是一个高阶函数,能够包含一个关键字key使待排序的list能按照key的有关规则进行排序,下面就是一个小例子。 >> > sorted ( [ 36 , - 5 , 4 , 25 , 12 , - 40 ] , key = abs ) [ 4 , - 5 , 12 , 25 , 36 , - 40 ] abs就是对list里的所有数字的绝对值进行排序。 然后就是利用sorted函数对子符串进行排序,默认情况下,对字符串排序,是按照ASCII的大小比较的,由于’Z’ < ‘a’,结果,大写字母Z会排在小写字母a的前面。 现在,我们提出排序应该忽略大小写,按照字母序排序。要实现这个算法,不必对现有代码大加改动,只要我们能用一个key函数把字符串映射为忽略大小写排序即可。忽略大小写来比较两个字符串