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

Python中的sort函数介绍

发布时间:2023-06-23 07:51:10

sort函数是Python语言中最常见的函数之一。sort函数是内置函数之一,可以直接在程序中调用,用于对列表、元组、字典、字符串等数据类型进行排序。

sort函数语法

sort()函数是Python内置函数,列表默认调用。语法格式如下:

list.sort(key=None, reverse=False)

参数说明:

list:表示待排序的列表。

key:用来指定用哪个关键字作为排序依据,可以是函数或者lambda函数。

reverse:默认为False,表示升序排列。True时表示降序排列。

sort()函数会修改原来的list,而不是返回一个新的list。返回值为None。

sort函数的使用方法

在使用sort函数时,可以不指定任何参数,直接对列表进行排序,例如:

list1 = [3, 1, 4, 2, 5]

list1.sort()

在上述代码中,sort()函数没有指定任何参数,表示默认对列表按照升序进行排序。执行结果为[1, 2, 3, 4, 5]。

使用sort()函数对列表进行降序排序,可以使用reverse参数,例如:

list1 = [3, 1, 4, 2, 5]

list1.sort(reverse=True)

在上述代码中,sort()函数的reverse参数设置为True,表示对列表进行降序排序。执行结果为[5, 4, 3, 2, 1]。

使用sort()函数对列表进行自定义排序,需要使用key参数,例如:

list2 = ["apple", "banana", "doritos", "candy"]

list2.sort(key=lambda x: len(x))

在上述代码中,sort()函数的key参数使用了匿名函数lambda,指定排序的依据是元素的字符串长度。执行结果为['candy', 'apple', 'banana', 'doritos']。

sort函数的应用场景

sort()函数是Python中常用的函数之一,可以用于各种数据类型的排序。

对于数字类型的列表,可以使用sort函数对其进行排序,例如:

list3 = [10, 8, 12, 5, 23]

list3.sort()

print(list3)

输出结果为[5, 8, 10, 12, 23]。

对于字符串类型的列表,可以使用sort函数按照字符串的字典序进行排序,例如:

list4 = ["banana", "candy", "apple"]

list4.sort()

print(list4)

输出结果为['apple', 'banana', 'candy']。

对于字典类型的列表,可以使用sort函数按照字典中某个键或值进行排序,例如:

list5 = [{"name": "Tom", "age": 18}, {"name": "Lucy", "age": 20}, {"name": "Jack", "age": 15}]

list5.sort(key=lambda x: x["age"])

print(list5)

输出结果为[{'name': 'Jack', 'age': 15}, {'name': 'Tom', 'age': 18}, {'name': 'Lucy', 'age': 20}]。

对于元组类型的列表,可以使用sort函数按照元组中某个位置的元素进行排序,例如:

list6 = [("Tom", 18), ("Lucy", 20), ("Jack", 15)]

list6.sort(key=lambda x: x[1])

print(list6)

输出结果为[('Jack', 15), ('Tom', 18), ('Lucy', 20)]。

sort()函数还可以和其他Python函数、模块一起使用,例如:

- sort()函数和sorted()函数可以一起使用,sorted()函数返回一个新的排序后的列表;

- sort()函数和operator模块的itemgetter函数可以一起使用,itemgetter函数用于获取字典中指定键的值。