Python中的sorted()函数及其常见参数详解
发布时间:2023-07-06 00:54:53
sorted()函数是Python内置的对列表、元组、字典、字符串等可迭代对象进行排序的函数。sorted()函数返回一个新的列表,而不是修改原始列表。
sorted(iterable, key=None, reverse=False)
- iterable:表示要排序的可迭代对象,如列表、元组、字典、字符串等。
- key:是一个函数,用来指定排序的关键字。该函数接受一个参数,并返回一个用来比较的值。默认为None,表示按照元素的原始值进行排序。
- reverse:一个布尔值,用来指定排序的顺序是升序还是降序。默认为False,表示升序排序。
下面详细介绍一下sorted()函数的常见参数:
1. iterable
必选参数,表示要排序的可迭代对象。可以是任何可迭代对象,比如列表、元组、字典、字符串等。
2. key
可选参数,用来指定排序的关键字。可以是一个函数或者lambda表达式。该函数接受一个参数,并返回一个用来比较的值。通过指定key参数,可以根据元素的某个属性或规则进行排序。
例如,要按照列表中元素的长度进行排序,可以使用len作为key参数:
lst = ['apple', 'banana', 'cherry'] new_lst = sorted(lst, key=len) print(new_lst) # ['apple', 'cherry', 'banana']
3. reverse
可选参数,一个布尔值,用来指定排序的顺序是升序还是降序。默认为False,表示升序排序。
例如,要按照降序进行排序,可以设置reverse为True:
lst = [3, 1, 4, 1, 5, 9, 2, 6] new_lst = sorted(lst, reverse=True) print(new_lst) # [9, 6, 5, 4, 3, 2, 1, 1]
4. 字符串特殊参数
对于字符串排序,还可以使用特殊的参数:
- 使用key=str.lower可以忽略字符串的大小写进行排序:
lst = ['apple', 'Banana', 'Cherry'] new_lst = sorted(lst, key=str.lower) print(new_lst) # ['apple', 'Banana', 'Cherry']
- 使用reverse=True和key=str.lower可以实现忽略大小写的降序排序:
lst = ['apple', 'Banana', 'Cherry'] new_lst = sorted(lst, reverse=True, key=str.lower) print(new_lst) # ['Cherry', 'Banana', 'apple']
综上所述,sorted()函数是一个强大且灵活的排序函数,通过合理使用key参数和reverse参数,可以满足不同排序需求。
