Python中的sorted()函数的使用方法和参数
发布时间:2023-06-10 11:03:59
Python中的sorted()函数是内置函数之一,用于对序列进行排序操作。它返回一个新的已排序的列表,原始列表不受影响。sorted()函数可以用于排序数字、字符串、元组等数据类型的列表。
sorted()函数的基本语法如下:
sorted(iterable, key=None, reverse=False)
参数:
- iterable:必需,表示要排序的列表、元组、集合等可迭代对象。
- key:可选,用于排序的关键字,如函数或属性,根据这个关键字进行排序,默认为None。
- reverse:可选,用于指定排序顺序,如果为True,则降序排序,如果为False,则升序排序,默认为False。
下面是一些使用方法和示例:
1. 升序排序
可以使用sorted()函数默认排序方式升序来排序一个列表:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
2. 降序排序
通过设置reverse参数为True,可以进行降序排序:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers) # 输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
3. 指定排序关键字
可以使用key参数指定一个函数或属性作为排序关键字。例如,假设我们有一个字符串列表,我们可以使用len函数来按字符串长度排序:
words = ['banana', 'apple', 'pear', 'watermelon', 'orange'] sorted_words = sorted(words, key=len) print(sorted_words) # 输出:['pear', 'apple', 'banana', 'orange', 'watermelon']
上面的示例中,我们使用len函数作为关键字,按字符串长度进行排序。
4. 复杂的排序
有时,我们需要根据多个条件进行排序。在这种情况下,可以使用lambda函数来创建一个复合的关键字:
students = [
{'name': 'Alice', 'age': 20, 'grade': 90},
{'name': 'Bob', 'age': 19, 'grade': 80},
{'name': 'Charlie', 'age': 21, 'grade': 95},
{'name': 'David', 'age': 18, 'grade': 85},
{'name': 'Eve', 'age': 22, 'grade': 92}
]
sorted_students = sorted(students, key=lambda x: (-x['grade'], x['age']))
print(sorted_students)
上面的示例中,我们按成绩降序和年龄升序排序学生列表。我们首先使用负值将成绩降序排序,然后使用年龄升序排序。
上述内容便是python中sorted()函数的使用方法和参数,了解这些内容,可以让开发者更加快捷的处理数据。
