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

Python中的sort函数如何使用?

发布时间:2023-05-26 09:15:27

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中对列表、元组、字典和集合进行排序的相应实现方法。如果要处理排序数据,请阅读此文章并掌握其实现方法。