Python中的sorted()函数-介绍Python中的sorted()函数及其实例
发布时间:2023-06-13 15:02:21
Python中的sorted()函数是一种内置函数,用于对可迭代对象进行排序。它返回一个新的列表,而不对原列表进行修改。
sorted()函数有一个必需参数,即要排序的迭代对象,如列表、元组或字符串。另外,它还有三个可选参数,分别是reverse、key和cmp。
reverse是一个布尔值,默认为False,表示是否按照倒序排序。如果设置为True,则按照倒序排序;否则按照正序排序。
key和cmp都是函数,key指定用于排序的关键字函数,而cmp是一个比较函数,用于比较两个对象的大小。在Python 3中,cmp已经被弃用,不再使用。
下面是一些示例,演示了如何在Python中使用sorted()函数:
1. 对一个列表进行排序:
>>> a = [4, 1, 3, 2] >>> sorted(a) [1, 2, 3, 4]
2. 对一个字符串进行排序:
>>> s = 'hello' >>> sorted(s) ['e', 'h', 'l', 'l', 'o']
3. 按照长度排序:
>>> a = ['apple', 'pear', 'banana', 'orange'] >>> sorted(a, key=len) ['pear', 'apple', 'orange', 'banana']
4. 按照字典序排序:
>>> a = ['apple', 'pear', 'banana', 'orange'] >>> sorted(a) ['apple', 'banana', 'orange', 'pear']
5. 倒序排序:
>>> a = [4, 1, 3, 2] >>> sorted(a, reverse=True) [4, 3, 2, 1]
6. 按照多个关键字排序:
>>> a = [('apple', 3), ('banana', 2), ('pear', 3), ('orange', 1)]
>>> sorted(a, key=lambda x: (x[1], x[0]))
[('orange', 1), ('banana', 2), ('apple', 3), ('pear', 3)]
在上面的例子中,我们使用了lambda表达式来指定多个关键字。将x[1]作为 个关键字,表示按照数字的大小排序;将x[0]作为第二个关键字,表示在数字相同的情况下按照字典序排序。
总而言之,sorted()函数是Python中非常常用的函数之一,它提供了灵活的排序方式,方便了我们的编程工作。
