Python中的sorted函数:对序列进行排序并返回排序结果
发布时间:2023-06-10 12:31:52
Python中的sorted函数是内置函数之一,它用于对序列进行排序并返回所得到的排序结果。sorted函数的使用非常灵活,并且可以用来对任何可以遍历的序列进行排序,例如列表、元组、字典等。
Python中的sorted函数是按照升序排列排序的,但也可以通过指定reverse参数来改变排序方向,使其变为降序排序。
Python中的sorted函数的具体用法及参数说明如下:
1、使用sorted函数可以对列表进行排序,直接使用sorted函数可以对列表按照默认的升序顺序进行排列,例如:
fruit = ['apple', 'banana', 'orange', 'pear', 'mango'] sorted_fruit = sorted(fruit) print(sorted_fruit)
输出结果为:
['apple', 'banana', 'mango', 'orange', 'pear']
2、使用sorted函数指定reverse参数为True,则可以按照降序顺序进行排列,例如:
fruit = ['apple', 'banana', 'orange', 'pear', 'mango'] sorted_fruit = sorted(fruit, reverse=True) print(sorted_fruit)
输出结果为:
['pear', 'orange', 'mango', 'banana', 'apple']
3、使用sorted函数可以对元组进行排序,例如:
fruit = ('apple', 'banana', 'orange', 'pear', 'mango')
sorted_fruit = sorted(fruit)
print(sorted_fruit)
输出结果为:
['apple', 'banana', 'mango', 'orange', 'pear']
4、使用sorted函数对字典进行排序时,会默认按照键值进行排序,例如:
fruit = {'apple': 3, 'banana': 4, 'orange': 2, 'pear': 1, 'mango': 5}
sorted_fruit = sorted(fruit)
print(sorted_fruit)
输出结果为:
['apple', 'banana', 'mango', 'orange', 'pear']
在对字典进行排序时,如果需要按照值进行排序,则需要通过指定关键字参数key的方式来实现,例如:
fruit = {'apple': 3, 'banana': 4, 'orange': 2, 'pear': 1, 'mango': 5}
sorted_fruit = sorted(fruit.items(), key=lambda x: x[1])
print(sorted_fruit)
输出结果为:
[('pear', 1), ('orange', 2), ('apple', 3), ('banana', 4), ('mango', 5)]
在上面的例子中,我们使用了items()方法将字典转换成了元组,再使用lambda函数来指定按照元组的第二个元素(也就是字典的值)进行排序。
在Python中,sorted函数的时间复杂度是O(nlogn),其具体实现方式是通过归并排序,可以保证在大多数情况下都能够很好地满足我们的排序需求。
最后需要注意的是,sorted函数并不改变原来的序列,而是返回一个新的排序后的序列,如果需要将其赋值给原变量,则需要手动进行赋值,例如:
fruit = ['apple', 'banana', 'orange', 'pear', 'mango'] fruit = sorted(fruit) print(fruit)
输出结果为:
['apple', 'banana', 'mango', 'orange', 'pear']
