Python 函数详解:结合案例介绍高阶函数sorted的用法

您所在的位置:网站首页 python列表降序函数 Python 函数详解:结合案例介绍高阶函数sorted的用法

Python 函数详解:结合案例介绍高阶函数sorted的用法

2023-03-28 15:12| 来源: 网络整理| 查看: 265

0 分享至

用微信扫码二维码

分享至好友和朋友圈

Python 是一门强大的编程语言,拥有许多强大而且易于使用的函数,使得编写代码变得更加简单。其中一个重要的函数就是 sorted 函数,它可以对序列进行排序,并且可以进行自定义排序。

在本文中,我们将详细介绍 sorted 函数,并通过案例来展示其用法。

Python sorted函数详解

什么是 sorted 函数?

sorted 函数是一个用来排序的内建函数,它可以将一个可迭代对象作为参数,返回一个新的带有排序元素的列表。它可以对任意的数据类型进行排序,包括数字、字符串、元组、列表等等。

sorted 函数的基本语法如下:

sorted(iterable, key=None, reverse=False)

其中:

iterable:需要排序的可迭代对象。key:用来指定一个函数,将其作用于 iterable 中的每个元素,根据函数的返回值进行排序。如果不指定,则按照默认方式进行排序。reverse:如果为 True,则表示按照逆序进行排序。默认为 False。案例解析

案例一:对数字列表进行排序

下面我们对一个数字列表进行排序:

numbers = [10, 5, 20, 3, 8]sorted_numbers = sorted(numbers)print(sorted_numbers)

输出结果为:

[3, 5, 8, 10, 20]

运行效果

案例二:对字符串列表进行排序

下面我们对一个字符串列表进行排序:

words = ['apple', 'banana', 'kiwi', 'orange']sorted_words = sorted(words)print(sorted_words)

输出结果为:

['apple', 'banana', 'kiwi', 'orange']

运行效果

案例三:对元组列表进行排序

下面我们对一个元组列表进行排序:

students = [('Tom', 20), ('Jerry', 18), ('Lucy', 22), ('John', 19)]def sort_by_age(student):return student[1] # 按照年龄进行排序sorted_students = sorted(students, key=sort_by_age)print(sorted_students)

输出结果为:

[('Jerry', 18), ('John', 19), ('Tom', 20), ('Lucy', 22)]

运行效果

在上面的案例中,我们定义了一个函数 sort_by_age,用来返回每个学生的年龄。然后将该函数作为参数传递给 sorted 函数的 key 参数,来指定按照年龄进行排序。

案例四:对对象列表进行排序

下面我们对一个对象列表进行排序:

class Student:def __init__(self, name, age):self.name = nameself.age = agedef __repr__(self):return f"Student({self.name}, {self.age})"students = [Student('Tom', 20), Student('Jerry', 18), Student('Lucy', 22), Student('John', 19)]def sort_by_age(student):return student.age # 按照年龄进行排序sorted_students = sorted(students, key=sort_by_age)print(sorted_students)

输出结果为:

[Student(Jerry, 18), Student(John, 19), Student(Tom, 20), Student(Lucy, 22)]

在上面的案例中,我们定义了一个类 Student,用来表示每个学生的信息。然后将该类的对象列表作为参数传递给 sorted 函数,并定义了一个函数 sort_by_age,用来返回每个学生的年龄。

运行效果展示

然后将该函数作为参数传递给 sorted 函数的 key 参数,来指定按照年龄进行排序。

结语

sorted 函数是一个非常实用的函数,可以对任何类型的数据进行排序,并且可以进行自定义排序。让我们在编写代码时更加便捷。希望本文能够为你提供帮助。如果你有任何问题或建议,请在评论区留言。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

/阅读下一篇/ 返回网易首页 下载网易新闻客户端


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3