python如何对函数中的参数进行排序
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章将为大家详细讲解有关python如何对函数中的参数进行排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。内建的 sorted() 函数可接受一个用来传递可调
千家信息网最后更新 2025年02月05日python如何对函数中的参数进行排序
这篇文章将为大家详细讲解有关python如何对函数中的参数进行排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
内建的 sorted() 函数可接受一个用来传递可调用对象( callable ) 的参数 key,而该可调用对象会返回待排序对象中的某些值,sorted则利用这些值来比较对象。
例如,如果应用中有一系列的 User 对象实例,而我们想通过 user_id 属性来对他们排序,则可以提供一个可调用对象将 User 实例作为输入然后返回 user_id。
class User: def __init__(self, user_id): self.user_id = user_id def __repr__(self): return 'User({})'.format(self.user_id) users = [User(23), User(3), User(99)]print(users)# [User(23), User(3), User(99)] sorted(users, key=lambda u: user_id)# [User(3), User(23), User(99)]
除了可以用 lambda 表达式外,另一种方式是使用 operator.attrgetter()
from operator import attrgettersorted(users, key=attrgetter('user_id'))# [User(3), User(23), User(99)]
要使用 lambda 表达式还是 attrgetter() 或许只是一种个人喜好。但是通常来说,attrgetter() 要更快一些,而且允许同时提取多个字段值的能力。
这和针对字典的 operator.itemgetter() 的使用很类似。
如果 User 实例还有一个 first_name 和 last_name 属性的话,可以执行如下的排序操作:
by_name = sorted(users, key=attrgetter('last_name', 'first_name'))
同样,本节所用到的技术也使用于像 min() 和 max() 这样的函数。
min(Users, key=attrgetter('user_id'))# User(3)max(Users, key=attrgetter('user_id'))# User(99)
关于"python如何对函数中的参数进行排序"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
对象
排序
函数
参数
实例
篇文章
可调
属性
更多
表达式
不错
实用
个人
内容
只是
同时
多个
字典
字段
技术
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
思科网络技术总结
江西一站式软件开发零售价格
品茗计算超出数据库
武汉存储服务器怎么配置
b250主板用服务器内存
软件开发的点击事件代码
禄丰数据库最新消息
数据服务器需要什么性能
数据库建表 减法
软件开发可以写什么毕业设计
简述数据库系统的主要特点
网络安全相关注册证书
魔兽世界凤凰之神服务器哪年开的
服务器电源没有cpu供电
阿里云服务器出问题
杭州的网络安全
国产服务器适配要钱吗
安徽蝉童网络技术
杭州良将网络技术有限公司
计计算机网络技术
北京安防时间频率同步服务器
数据库科研怎么做
量化派 大数据库
网络安全诈骗真实案例视频
u8连接数据库失败
江苏数据网络技术分类咨询报价
姑苏区运营网络技术费用
服务器上的预防性工作
什么样的主板支持服务器内存
女生作计算机软件开发