一、sorted()是什么
1、sorted()是Python内置的函数,用于对可迭代对象进行排序。
2、sorted()函数返回一个新的列表,其元素按照指定规则进行排序。
3、sorted()函数也可以接收关键字参数,用于自定义排序规则。
二、sorted()的基本用法
1、对列表进行排序
>>> nums = [3, 2, 1, 4, 5]
>>> sorted_nums = sorted(nums)
>>> print(sorted_nums)
[1, 2, 3, 4, 5]
2、对元组进行排序
>>> info = [('John', 30), ('Adam', 25), ('Amy', 35)]
>>> sorted_info = sorted(info)
>>> print(sorted_info)
[('Adam', 25), ('Amy', 35), ('John', 30)]
3、对字符串进行排序
>>> words = ['python', 'java', 'ruby', 'javascript']
>>> sorted_words = sorted(words)
>>> print(sorted_words)
['java', 'javascript', 'python', 'ruby']
三、sorted()的高级用法
1、reverse参数
reverse参数用于指定是否按照降序排序,默认为False。当reverse为True时,排序规则按照从大到小进行。
>>> nums = [3, 2, 1, 4, 5]
>>> sorted_nums = sorted(nums, reverse=True)
>>> print(sorted_nums)
[5, 4, 3, 2, 1]
2、key参数
key参数用于指定排序的关键字,即定制排序规则。key参数必须指定为一个函数。
例如,对一个列表的元素按照绝对值大小排序:
>>> nums = [3, -2, 1, -4, 5]
>>> sorted_nums = sorted(nums, key=abs)
>>> print(sorted_nums)
[1, -2, 3, -4, 5]
又例如,对一个列表的元素按照字符串长度排序:
>>> words = ['python', 'java', 'ruby', 'javascript']
>>> sorted_words = sorted(words, key=len)
>>> print(sorted_words)
['java', 'ruby', 'python', 'javascript']
3、lambda表达式
在一些简单的情况下,可以使用lambda表达式来定义排序规则,以省略定义函数的步骤。
例如,对一个列表的元素按照绝对值从大到小排序:
>>> nums = [3, -2, 1, -4, 5]
>>> sorted_nums = sorted(nums, key=lambda x: -abs(x))
>>> print(sorted_nums)
[5, -4, 3, -2, 1]
四、sorted()的应用场景
sorted()函数经常应用于需要对数据进行排序的场景,例如:
1、对爬取的数据按照发布时间排序,输出最新发布的多篇文章。
2、对学生成绩进行排序,输出平均分最高的n个学生的信息。
3、对股票数据按照交易量从大到小排序,输出最受欢迎的n支股票的相关信息。
五、总结
本文全面介绍了sorted()函数的基本用法和高级用法,同时给出了多个示例说明了sorted()的应用场景。sorted()函数是Python内置的强大工具,在实际开发中应用广泛,是一位全能Python开发工程师必备的技能之一。