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'] forsinsorted(my_list,key=len): print(s)