python如何对函数中的参数进行排序
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关python如何对函数中的参数进行排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。内建的 sorted() 函数可接受一个用来传递可调
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技有限公司
广州紫鲸互联网科技有限公司
互联网科技公司起名
互联网科技行业发展
深圳互联网科技公司
互联网的科技创新
科技创新互联网企业
美国互联网黑科技
猫创互联网科技
互联网科技类展会
隆华科技工业互联网
知域互联网科技有限公司大骗子
四川慕妮娅互联网科技有限公司
互联网企业科技类企业如何做账
广州富喜互联网络科技
四川互联网展示科技馆设计
云南互联网科技学费
互联网科技博主张洲
优雇互联网科技有限公司
互联网科技快速发展优美句子
互联网科技有限公司
互联网 科技创业
奇酷互联网络科技
居家互联网科技有限公司
滨湖区互联网智能科技产品供应
黑科技闪耀互联网之光
滨湖区互联网智能科技产品有哪些
互联网科技年终奖
万物互联网智能科技
科技发展第三阶段互联网时代