Python中sorted()函数用于排序序列
Python中的sorted()函数用于对可迭代对象进行排序,返回一个新的已排序列表,而不是修改原始对象。
sorted()函数可以用于排序各种类型的序列,包括数字、字母、字符串、元组、列表、字典等。
语法:
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable:可迭代对象,可以是一个序列或一个迭代器。
- key:用于指定排序的依据。可以是一个函数,或者是lambda表达式。该函数将被应用于每个元素上,并返回用于排序的值。默认值为None,表示按照元素的自然顺序排序。
- reverse:用于指定排序结果的顺序。默认值为False,表示升序排列。如果设置为True,则按降序排列。
示例代码:
1. 对数字进行排序:
nums = [5, 3, 8, 2, 9]
sorted_nums = sorted(nums)
print(sorted_nums)
# 输出:[2, 3, 5, 8, 9]
2. 对字符串进行排序:
words = ['cat', 'dog', 'apple', 'banana']
sorted_words = sorted(words)
print(sorted_words)
# 输出:['apple', 'banana', 'cat', 'dog']
3. 对元组进行排序:
points = [(1, 2), (4, 5), (2, 1), (3, 3)]
sorted_points = sorted(points)
print(sorted_points)
# 输出:[(1, 2), (2, 1), (3, 3), (4, 5)]
4. 指定排序的依据:
students = [('Tom', 18, 'A'), ('Bob', 16, 'B'), ('Alice', 17, 'A')]
sorted_students = sorted(students, key=lambda x: x[1]) # 按年龄排序
print(sorted_students)
# 输出:[('Bob', 16, 'B'), ('Alice', 17, 'A'), ('Tom', 18, 'A')]
5. 按降序排序:
nums = [5, 3, 8, 2, 9]
sorted_nums = sorted(nums, reverse=True)
print(sorted_nums)
# 输出:[9, 8, 5, 3, 2]
总结:
sorted()函数在Python中是一个非常有用的函数,它可以对可迭代对象进行排序,并返回一个新的已排序列表。通过指定key参数,可以按特定的规则进行排序。通过设置reverse参数,可以指定排序结果的顺序。使用sorted()函数可以极大地简化排序操作。
