首页 > Python > Python流程控制 阅读:8,457

Python sorted函数及用法

sorted() 函数与 reversed() 函数类似,该函数接收一个可迭代对象作为参数,返回一个对元素排序的列表。

在交互式解释器中测试该函数,可以看到如下运行过程:

>>> a = [20, 30, -1.2, 3.5, 90, 3.6]
>>> sorted(a)
[-1.2, 3.5, 3.6, 20, 30, 90]
>>> a
[20, 30, -1.2, 3.5, 90, 3.6]

从上面的运行过程来看,sorted() 函数也不会改变所传入的可迭代对象,该函数只是返回一个新的、排序好的列表。

在使用 sorted() 函数时,还可传入一个 reverse 参数,如果将该参数设置为 True,则表示反向排序。例如如下测试过程:

>>> sorted(a, reverse = True)
[90, 30, 20, 3.6, 3.5, -1.2]

在调用 sorted() 函数时,还可传入一个 key 参数,该参数可指定一个函数来生成排序的关键值。比如希望根据字符串长度排序,则可为 key 参数传入 len 函数。例如如下运行过程:

>>> b = ['fkit', 'crazyit', 'charlie', 'fox', 'Emily']
>>> sorted(b, key = len)
['fox', 'fkit', 'Emily', 'crazyit', 'charlie']

通过 sorted() 函数的帮助,程序可对可迭代对象按照由小到大的顺序进行遍历。例如如下程序:
my_list = ['fkit', 'crazyit', 'Charlie', 'fox', 'Emily']
for s in sorted(my_list, key=len):
    print(s)

Python交流群:960331733(我们会不定期在群内分享Python知识,上传Python资料)

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注