Python 中对列表进行排序的函数 sorted()
发布时间:2023-07-01 04:39:21
在Python中,可以使用sorted()函数对列表进行排序。sorted()函数可以接受多种参数,但最常用的参数是可迭代对象,例如列表。
该函数的基本语法是:sorted(iterable, key, reverse)
- iterable:需要排序的可迭代对象,通常为列表。
- key:一个可选的参数,用于指定排序的关键字。可以是一个函数或lambda表达式,函数接受一个参数并返回一个用于比较的值。默认值为None,表示按照可迭代对象中的元素进行比较。
- reverse:一个可选的参数,用于确定排序的顺序。默认值为False,表示升序排序;如果设置为True,则表示降序排序。
sorted()函数的返回值是一个新的排序后的列表,原始列表不会被修改。例如:
numbers = [3, 1, 4, 2, 5] sorted_numbers = sorted(numbers) # 升序排序 print(sorted_numbers) # 输出:[1, 2, 3, 4, 5] sorted_numbers_desc = sorted(numbers, reverse=True) # 降序排序 print(sorted_numbers_desc) # 输出:[5, 4, 3, 2, 1]
在上面的例子中,我们首先创建了一个数字列表numbers。然后,我们使用sorted()函数来对该列表进行排序。 个结果sorted_numbers是一个升序排序的新列表,而第二个结果sorted_numbers_desc是一个降序排序的新列表。
此外,我们还可以使用key参数来指定排序的关键字。例如,如果我们想按数字的绝对值对列表进行排序,可以使用abs函数作为key。示例如下:
numbers = [-3, 1, -4, 2, -5] sorted_numbers_abs = sorted(numbers, key=abs) # 按绝对值升序排序 print(sorted_numbers_abs) # 输出:[1, 2, -3, -4, -5]
在上面的例子中,我们通过指定key=abs来按绝对值进行排序。结果sorted_numbers_abs是一个按照绝对值升序排序的新列表。
综上所述,使用sorted()函数可以方便地对列表进行排序,并且可以通过key参数指定排序的关键字。
