Python中的sorted()函数--用于对列表进行排序操作
发布时间:2023-07-13 06:17:59
Python中的sorted()函数是一个内置函数,主要用于对列表进行排序操作。它可以根据指定的排序规则对列表中的元素进行排序,并返回一个新的已排序的列表。
sorted()函数的基本语法如下:
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable:表示待排序的可迭代对象,通常是一个列表。
- key:指定一个函数,用于从每个元素中提取用于排序的键值。默认为None,即直接比较元素本身值来进行排序。
- reverse:选项为两个值,True表示降序排序,False表示升序排序。默认为False。
下面来介绍一些sorted()函数的使用示例:
1. 对数字列表进行升序排序:
numbers = [5, 3, 9, 1, 7] sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出:[1, 3, 5, 7, 9]
2. 对字符串列表进行按长度排序:
fruits = ['apple', 'banana', 'pear', 'orange'] sorted_fruits = sorted(fruits, key=len) print(sorted_fruits) # 输出:['pear', 'apple', 'banana', 'orange']
3. 对字典列表按某个键进行排序:
students = [{'name': 'Alice', 'age': 18},
{'name': 'Bob', 'age': 20},
{'name': 'Charlie', 'age': 17}]
sorted_students = sorted(students, key=lambda s: s['age'])
print(sorted_students)
# 输出:[{'name': 'Charlie', 'age': 17},
# {'name': 'Alice', 'age': 18},
# {'name': 'Bob', 'age': 20}]
4. 对元组列表按多个键进行排序:
scores = [('Alice', 90), ('Bob', 86), ('Charlie', 92)]
sorted_scores = sorted(scores, key=lambda s: (s[1], s[0]))
print(sorted_scores)
# 输出:[('Bob', 86), ('Alice', 90), ('Charlie', 92)]
5. 对列表进行降序排序:
numbers = [5, 3, 9, 1, 7] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers) # 输出:[9, 7, 5, 3, 1]
总结:
- sorted()函数是一个非常有用的函数,可以按照不同的规则对列表进行排序操作。
- 可以通过key参数指定自定义的排序规则。
- 可以通过reverse参数实现降序排序。
- 该函数返回一个新的已排序的列表,原列表不会被修改。
