sorted()函数全面解析(Python中sorted)

一、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开发工程师必备的技能之一。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平