Python的sorted函数 - Python中的sorted函数可以对对象进行排序。
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中一个非常重要的基础函数,使用广泛,需要牢记。
