有多個類型一致的對象,a b c
每個對像下都有相同的整數屬性a.click
現在需要根據click的數值大小排序(可能有重複),
再根據click的排序位置取出,物件裡的其他成員資料
想了好半天,該怎麼實現呢
曾经蜡笔没有小新2017-06-13 09:26:48
這樣嗎?
# coding: utf8
class A():
def __init__(self):
self.click = 0
a = A()
a.click = 4
a.test = 'I am a'
b = A()
b.click = 1
b.test = 'I am b'
c = A()
c.click = 2
c.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 b
I am c
I am a
给我你的怀抱2017-06-13 09:26:48
寫了一個例子:
#!/usr/bin/python3
class Class:
def __init__(self, key, value):
self.key, self.value = key, value
def 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]
是這個意思嗎