python如何对函数中的参数进行排序
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章将为大家详细讲解有关python如何对函数中的参数进行排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。内建的 sorted() 函数可接受一个用来传递可调
千家信息网最后更新 2025年11月11日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安全错误
数据库的锁怎样保障安全
香港科技云服务器
表格导入数据库日期date
网络安全应急指挥方案
新野天气预报软件开发
快速破解服务器
软件开发人员转行做什么好
租云服务器怎么做3级等保
c 与数据库同步
护苗.网络安全课之2
扬州合一网络技术有限公司
南昌嵌入式软件开发
质量好价格低的服务器维护
数据库二级操作题
战地一首页一进去就服务器中断
数据库的密码加密技术
广东专业服务器散热器供应商
当当网图书数据库pdf下载
小程序制作和软件开发区别
光遇育碧服务器
软件开发能计入在建
曙光服务器管理口在哪里
软件开发英语要好吗
梁溪区项目软件开发系统
玉器鉴别软件开发
一网络安全手抄报报二年级
网络技术电脑学习
仪陇人民医院网络安全
微信如何找回丢失的数据库
服务器内部图
theghost怎么选择服务器