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

Python的sorted函数 - Python中的sorted函数可以对对象进行排序。

发布时间:2023-05-28 11:02:10

Python中的sorted函数是一个非常常用的函数,可以对不同类型的对象进行排序。Python中的sorted函数非常灵活,在排序时可以通过指定关键字参数来控制排序的方式。

以下是sorted函数的常见用法:

排序列表

可以对Python列表进行排序,示例如下:

numbers = [4, 2, 6, 5, 1, 3]

sorted_numbers = sorted(numbers)

print(sorted_numbers)

输出结果:

[1, 2, 3, 4, 5, 6]

默认情况下,sorted函数按照升序排序。如果需要排序方式为降序,则可以加上关键字参数reverse=True(默认为False):

numbers = [4, 2, 6, 5, 1, 3]

sorted_numbers = sorted(numbers, reverse=True)

print(sorted_numbers)

输出结果:

[6, 5, 4, 3, 2, 1]

排序元组

元组是Python中另一个常见的数据类型。可以通过sorted函数对元组进行排序,但需要注意的是,元组中的元素必须是可比较的。

示例如下:

data = [('Tom', 25), ('Jerry', 20), ('Marry', 30)]

sorted_data = sorted(data, key=lambda x:x[1])

print(sorted_data)

输出结果:

[('Jerry', 20), ('Tom', 25), ('Marry', 30)]

这个例子中,我们通过lambda函数指定了排序关键字,即按照年龄排序。

使用关键字参数进行排序

sorted函数还可以使用关键字参数进行排序。在上一个例子中,我们可以使用关键字参数key指定排序关键字。

例如,排序一个由字典组成的列表,按照字典中value的值从小到大排序:

data = [{'name': 'Tom', 'age': 25}, 

        {'name': 'Jerry', 'age': 20}, 

        {'name': 'Marry', 'age': 30}]

sorted_data = sorted(data, key=lambda x:x['age'])

print(sorted_data)

输出结果:

[{'name': 'Jerry', 'age': 20}, {'name': 'Tom', 'age': 25}, {'name': 'Marry', 'age': 30}]

在这个例子中,我们使用lambda函数指定了排序关键字,即按照age的值排序。

总结

Python中的sorted函数是一个非常常用的函数,可以对不同类型的对象进行排序。在使用sorted函数时,需要考虑到排序方式的不同(升序、降序),以及排序的关键字。

除了在列表、元组、字典等普通数据类型中使用sorted函数进行排序,还可以在自定义的对象中进行排序,只需要实现__lt__方法即可。因此,这个函数是Python中一个非常重要的基础函数,使用广泛,需要牢记。