Python中的sort函数如何使用?
Python中的sort函数是用于排序的函数。该函数可应用于Python中的列表(osat(记录)、元组、集合等数据类型),此外,除了None(无),可以对所有可迭代的数据类型排序。sort函数默认按升序排列,但也可以通过reverse = True参数进行降序排列。
sort函数是一种很有用的函数,常用于获取数据中最大或最小值。此外,它还用于排序和对列表、元组进行排序,并有时用于获取数据。sort函数及其各种参数的详细说明将在下面的部分中进行讲解。
sort函数的基本语法
Python中sort函数的基本语法
list.sort(key=comfun,reverse=True/False)
参数说明:
list:表示要排序的列表、元组、集合等数据类型。
key:该参数表示排序的键,也就是通过指定的键对列表、元组等数据类型排序。
reverse:该参数控制排序顺序。可以通过指定reverse = False(默认),由小到大或升序排列对象。同样,您可以通过指定reverse=True来反转排序列表。
示例代码:
# sorted() 函数使用示例
# 列表对象
lst = [2, 3, 4, 1, 5]
# 打印原始列表
print("原始列表 : ")
print(lst)
# 使用 sort 函数排序列表
lst.sort()
# 打印排序后的列表
print("排序后的列表 : ")
print(lst)
输出:
原始列表 :
[2, 3, 4, 1, 5]
排序后的列表 :
[1, 2, 3, 4, 5]
sort函数的参数
sort()函数主要有以下两个参数:
key:sort函数中的 个参数是指定要使用的键。 sort方法用于高级排序,可以使用Key参数在一个单一的列表上指定一个函数来作为排序键值。
reverse:如果为真,则对象在降序排序;如果为false,则升序排序。默认false。
1. 对列表sort排序
sort()函数在原位置上对列表进行排序,返回None。sort()函数与sorted函数不同。sorted()函数返回一个新的排序列表,sort()函数在原列表上进行排序。
语法:
list.sort([key=], [reverse=])
参数:
key:排序的依据,等同于sorted函数中的key参数。
reverse:排序方向。True为降序,False为升序,默认升序。
示例代码:
# python正排列表排序
list = [12,4,5,6,7,3,1,15]
list.sort()
print(list)
# python倒序列表排序
list = [12,4,5,6,7,3,1,15]
list.sort(reverse=True)
print(list)
输出:
[1, 3, 4, 5, 6, 7, 12, 15]
[15, 12, 7, 6, 5, 4, 3, 1]
2. 对元组排序
Python的元组是由逗号分隔的值组成的不可变序列。 这意味着它们不能更改或更改其内容,因此无法使用sort()函数。但是,我们可以使用内置的sorted或list()方法在元组上进行排序。 以这种方式排序的结果将是具有相同值的新元组。
语法:
tuple_sorted=sorted(tuple)
list=sorted(tuple,reverse=True)
示例代码:
# 元组排序
tuple = (12,4,5,6,7,3,1,15)
sorted_list = sorted(tuple)
print(sorted_list)
输出:
[1, 3, 4, 5, 6, 7, 12, 15]
3. 对字典排序
字典是无序的键-值对集合,且没有相同的键。默认情况下,字典不支持sort()函数。但是,我们可以使用内置的sorted函数来排序字典的其中一个值。
语法:
sorted(dictionary,key=function)
参数:
dictionary :词典可能是空的,也可能包含多个元素键 - 值对。在排序期间,只对键进行排序,而不考虑其值。
key :用于获取要排序的对象的特定键。可以使用lambda函数和attrgetter函数作为值。
示例代码:
from operator import itemgetter,attrgetter
# 列表对象
students = [
{"name": "Bob", "age": 20},
{"name": "Mike", "age": 19},
{"name": "Jane", "age": 18},
]
sorted_list = sorted(students, key=itemgetter("age"))
print(sorted_list)
输出:
[{'name': 'Jane', 'age': 18}, {'name': 'Mike', 'age': 19}, {'name': 'Bob', 'age': 20}]
4. 对集合sort排序
集合是没有顺序的,无索引内容的集合, set不支持indexing,而sort函数需要索引。可以使用sorted进行排序。
语法:
set_sort=set(sorted(set_nat(reverse=False))
参数:
set_nat:要排序的集。
reverse:控制排序顺序。可以通过指定rev = False(默认),按升序排序对象。同样,您还可以通过指定rev = True来反转排序。
示例代码:
# python集合排序
set1 = {4, 5, 2, 7, 1, 3, 6}
set2 = sorted(set1)
print(set2)
# python倒序集排序
set3 = {4, 5, 2, 7, 1, 3, 6}
set4 = sorted(set3, reverse=True)
print(set4)
输出:
[1, 2, 3, 4, 5, 6, 7]
[7, 6, 5, 4, 3, 2, 1]
总之,这里我们详细介绍了Python中sort函数的使用。我们可以通过使用sort函数在列表、元组、集合等数据类型中对其进行排序。sort函数的两个参数key和reverse也能够指定排序键和排序方向。除此之外,还介绍了Python中对列表、元组、字典和集合进行排序的相应实现方法。如果要处理排序数据,请阅读此文章并掌握其实现方法。
