Heim > Fragen und Antworten > Hauptteil
Es gibt mehrere Objekte desselben Typs, a b c
Jedes Objekt hat das gleiche Ganzzahlattribut a.click
Jetzt müssen wir nach dem numerischen Wert des Klicks sortieren (es kann zu Duplikaten kommen),
Entnehmen Sie dann die anderen Mitgliedsdaten im Objekt entsprechend der Sortierposition des Klicks
Ich habe lange darüber nachgedacht, wie ich es umsetzen kann
曾经蜡笔没有小新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]
是这个意思吗