Python中的sort函数介绍
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函数用于获取字典中指定键的值。
