sorted(第27篇)

2016-04-13  本文已影响22人  你好星期四

使用sorted()函数来排序

例子:

>>> sorted([1,5,2,9,4])
[1, 2, 4, 5, 9]

自定义排序

上面的排序方式比较简单,因为数字序列很容易比较大小。但如果要排序的是一个dict呢?或者字符串呢?

还是一个梳数字序列,现在按照绝对值大小排序,该怎么办呢?
事实上,sorted()函数还有第二个参数,是一个key函数,用来实现自定义的排序:

>>> sorted([-10, -5, 0, 6, 3, -2], key = abs)
[0, 2, 3, 5, 6, 10]

我们还可以用sorted()函数对字符串进行排序,默认情况下是按照ASCII的大小进行比较的。你可以自己构造一个字符列表来试试。

你还可以传入一个key函数,实现忽略大小写的排序:

>>> sorted(['bmob', 'an', 'Yellow', 'crash'], key=str.lower)
['an', 'bmob', 'crash', 'Yellow']

sorted()函数还有第三个参数reverse,它是一个布尔值,指定是否逆序:


>>> sorted(['bmob', 'an', 'Yellow', 'crash'], key=str.lower, reverse = True)
['Yellow', 'crash', 'bmob', 'an']
上一篇下一篇

猜你喜欢

热点阅读