Heim  >  Fragen und Antworten  >  Hauptteil

Wie vergleiche ich die Größe bestimmter Mitglieder mehrerer Objekte in Python?

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学习ing2659 Tage vor724

Antworte allen(2)Ich werde antworten

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新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

    Antwort
    0
  • 给我你的怀抱

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

    是这个意思吗

    Antwort
    0
  • StornierenAntwort