sorted()是python内置的,做题的时候也经常用,刚才在廖雪峰老师的网站上看到这一部分的时候,发现sorted()还可以跟其他参数,是我以前不知道的,而且有些情况下处理问题会很方便
首先是sorted()的一般用法,比如对一个列表内的数字进行排序
>>> sorted([3,6,-2,5,4,-11,15])
[-11, -2, 3, 4, 5, 6, 15]
然后是sorted还可以接受一个key函数来实现自定义排序,比如按照绝对值大小排序:
>>> sorted([3,6,-2,5,4,-11,15],key=abs)
[-2, 3, 4, 5, 6, -11, 15]
key指定的函数作用于列表的每一个元素上,并根据key函数返回的结果进行排序
感觉加上参数这种用法在做题的时候可能会用到,能省好多行代码
对于字符串排序,是按照ASCII的大小比较,'A'=65,'a'=97
现在有这样一个列表['bob','about','Zoo','Credit'],想实现忽略大小写的排序,可以这样做
>>> sorted(['bob', 'about', 'Zoo', 'Credit'],key=str.lower)
['about', 'bob', 'Credit', 'Zoo']
要想进行反向排序,可以传入第三个参数 reverse=True
>>> sorted([>>> sorted(['bob', 'about', 'Zoo', 'Credit'],key=str.lower,reverse=True)
['Zoo', 'Credit', 'bob', 'about']