Wie vergleiche ich die Größe bestimmter Mitglieder mehrerer Objekte in Python?
学习ing
学习ing 2017-06-13 09:24:48
0
2
770

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

学习ing
学习ing

Antworte allen(2)
曾经蜡笔没有小新

这样吗?

# 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
给我你的怀抱

写了个例子:

#!/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]

是这个意思吗

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage