欢迎访问宙启技术站
智能推送

Python函数之sorted()的使用

发布时间:2023-06-23 22:39:13

Python中的sorted()函数是一个非常常用的函数,用于排序操作。sorted()函数的参数是一个可迭代对象,可以是任何可迭代对象(如列表、元组等),sorted()返回一个排序后的列表。

sorted()函数有几个常用的参数,其中key和reverse是最常用的两个参数。key参数用于指定排序的关键字,可以是一个函数或lambda表达式;reverse参数用于指定排序的顺序,True表示降序,False表示升序,默认是升序。

举个例子,假如有一个列表students,里面包含了几个学生的信息,每个学生是一个字典,包含了name,age,score等字段。我们想按照score这个字段来排序,得到一个按照score从大到小排序的新列表。那么,可以这样写:

students = [{'name': 'Tom', 'age': 18, 'score': 90},
            {'name': 'Jerry', 'age': 17, 'score': 80},
            {'name': 'Bob', 'age': 20, 'score': 70}]
sorted_students = sorted(students, key=lambda x: x['score'], reverse=True)

这段代码中,我们使用了sorted()函数对students进行了排序。key参数被设置为一个lambda表达式,表示按照字典中的score字段来排序。reverse参数设置为True,表示按照score从大到小排序。结果sorted_students即为排序后的新列表。

除了列表、字典之外,sorted()函数还可以对字符串、元组等进行排序。比如,对一个字符串进行排序:

str1 = 'python'
sorted_str1 = sorted(str1)

这段代码中,我们使用sorted()函数对字符串str1进行排序。结果sorted_str1为['h', 'n', 'o', 'p', 't', 'y']。可以看到,sorted()函数将字符串中的每一个字符都拆分出来,按照ascii码从小到大进行排序后,组成了一个新的列表sorted_str1。如果我们想要将字符串按照字母从小到大排序,可以这样写:

str1 = 'python'
sorted_str1 = ''.join(sorted(str1))

这段代码中,我们将sorted()函数返回的列表通过join()方法连接起来,得到了一个新的字符串sorted_str1,它是按照字母从小到大排序的。

总之,sorted()函数是一个非常常用的函数,掌握它的使用方法可以让我们的代码更加简洁高效。