python多個(gè)對(duì)象的某個(gè)成員比大小怎么做?
問題描述
有多個(gè)類型一致的對(duì)象,a b c每個(gè)對(duì)象下有同樣的整數(shù)屬性a.click
現(xiàn)在需要根據(jù)click的數(shù)值大小排序(可能有重復(fù)),
再根據(jù)click的排序位置取出,對(duì)象里的其他成員數(shù)據(jù)
想了好半天,該怎么實(shí)現(xiàn)呢
問題解答
回答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 # 輸出(根據(jù)click的值從小到大輸出test屬性)I am bI am cI am a回答2:
寫了個(gè)例子:
#!/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]
是這個(gè)意思嗎
相關(guān)文章:
1. javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?2. python - Scrapy存在內(nèi)存泄漏的問題。3. python - 在使用Pycharm時(shí)經(jīng)常看到如下的樣式,小括號(hào)里紅色的部分是什么意思呢?4. javascript - js中向下取整5. javascript - 關(guān)于<a>元素與<input>元素的JS事件運(yùn)行問題6. javascript - 移動(dòng)端引入js去控制根元素的font-size,但在頁面初始化時(shí)會(huì)有抖動(dòng)的情況,請(qǐng)問有別的優(yōu)化方法么7. javascript - Express 和 request 如何代理遠(yuǎn)程圖片?8. javascript - windows下如何使用babel,遇到了困惑9. javascript - 你們?cè)鯓訉?shí)現(xiàn)前端分頁的?10. javascript - html5的data屬性怎么指定一個(gè)function函數(shù)呢?
