python多個(gè)對(duì)象的某個(gè)成員比大小怎么做?
問(wèn)題描述
有多個(gè)類(lèi)型一致的對(duì)象,a b c每個(gè)對(duì)象下有同樣的整數(shù)屬性a.click
現(xiàn)在需要根據(jù)click的數(shù)值大小排序(可能有重復(fù)),
再根據(jù)click的排序位置取出,對(duì)象里的其他成員數(shù)據(jù)
想了好半天,該怎么實(shí)現(xiàn)呢
問(wè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:
寫(xiě)了個(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 - node.js promise沒(méi)用2. golang - 用IDE看docker源碼時(shí)的小問(wèn)題3. c++ - 如何正確的使用QWebEngineView?4. yii2中restful配置好后在nginx下報(bào)404錯(cuò)誤5. javascript - js 寫(xiě)一個(gè)正則 提取文本中的數(shù)據(jù)6. 算法 - python 給定一個(gè)正整數(shù)a和一個(gè)包含任意個(gè)正整數(shù)的 列表 b,求所有<=a 的加法組合7. android 如何實(shí)現(xiàn)如圖中的鍵盤(pán)上的公式及edittext的內(nèi)容展示呢8. java - 我在用Struts2上傳文件時(shí),報(bào)以下錯(cuò)誤怎么回事?9. 請(qǐng)問(wèn)是對(duì)象還是數(shù)組10. thinkphp6使用驗(yàn)證器 信息如何輸出到前端頁(yè)面
