python多个对象的某个成员比大小怎么做?
问题描述
有多个类型一致的对象,a b c每个对象下有同样的整数属性a.click
现在需要根据click的数值大小排序(可能有重复),
再根据click的排序位置取出,对象里的其他成员数据
想了好半天,该怎么实现呢
问题解答
回答1:这样吗?
# coding: utf8class A(): def __init__(self):self.click = 0a = A()a.click = 4a.test = ’I am a’b = A()b.click = 1b.test = ’I am b’c = A()c.click = 2c.test = ’I am c’for i in sorted([a, b, c], key=lambda x: x.click, reverse=True): print i.test # 输出(根据click的值从小到大输出test属性)I am bI am cI am a回答2:
写了个例子:
#!/usr/bin/python3class Class: def __init__(self, key, value):self.key, self.value = key, valuedef get_values(*args): return [o.value for o in sorted(args, key=lambda o: o.key)]print( get_values(Class(3, 1),Class(1, 2),Class(2, 3) ))# Output: [2, 3, 1]
是这个意思吗
相关文章:
1. 为什么span的color非要内联样式才起作用?2. html5 - H5做的手机分享页微信更新后,分享出去不再默认显示第一个图 作为缩略图3. css - div设置float:left后高度设置自动会无效 ?4. golang - 用IDE看docker源码时的小问题5. docker start -a dockername 老是卡住,什么情况?6. 手机开发 - Android蓝牙模块连接后怎么接收数据?求助7. 小白问题getDay()8. 请问一下各位老鸟 我一直在学习独孤九贱 现在是在tp5 今天发现 这个系列视频没有实战9. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?10. 老师,请问我打开browsersync出现这个问题怎么解决啊?

网公网安备