python sorted
时间: 2024-03-29 11:17:52
(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)
sorted()
是 Python 的内置函数,用于对可迭代对象进行排序,并返回一个新的已排序列表。这个函数不会改变原始的可迭代对象,而是返回一个新的列表。
基本语法如下:
sorted(iterable, key=None, reverse=False)
参数说明:
iterable
:可迭代对象,如列表、元组、字符串等。key
:可选参数,用于指定一个函数,这个函数会在每个元素上被调用,并且返回值用于排序。默认值为None
,意味着直接比较元素本身。reverse
:可选参数,指定排序是升序还是降序。默认为False
,表示升序排序;如果设置为True
,则为降序排序。
下面是一些示例:
简单排序列表:
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]
降序排序列表:
umbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_numbers_descending = sorted(numbers, reverse=True) print(sorted_numbers_descending) # 输出: [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
根据元组中的某个元素排序:
students = [('Alice', 25), ('Bob', 22), ('Charlie', 28), ('Dave', 21)] sorted_students_by_age = sorted(students, key=lambda student: student[1]) print(sorted_students_by_age) # 输出: [('Dave', 21), ('Bob', 22), ('Alice', 25), ('Charlie', 28)]
在上面的示例中,我们使用了一个 lambda
函数作为 key
参数,该函数接收一个元组并返回元组的第二个元素(年龄),这样 sorted()
函数就会根据年龄对学生进行排序。
sorted()
函数非常灵活,可以处理各种排序需求,包括复杂对象的排序,只要你能提供一个合适的 key
函数来提取用于比较的属性或值。