wie man ein Objekt aus einer Liste von Objekten anhand seines Attributs in Python auswählt

8

Entschuldigung, wenn diese Frage bereits gestellt wurde, aber ich glaube nicht, dass ich die richtige Terminologie kenne, um nach einer geeigneten Lösung durch Google zu suchen.

Ich möchte ein Objekt aus einer Liste von Objekten anhand des Wertes seines Attributs auswählen, zum Beispiel:

%Vor%

in meinem Fall ist die Nummer immer eindeutig

Danke für die Hilfe

    
Anake 03.03.2011, 11:25
quelle

4 Antworten

10

Versuchen Sie

%Vor%

oder

%Vor%     
Sven Marnach 03.03.2011, 11:28
quelle
3

Die benötigte Terminologie ist 'map' oder 'dictionnary': dies führt Sie zu der richtigen Seite in der Python-Dokument .

Extrem einfaches Beispiel:

%Vor%     
Nicolas Lefebvre 03.03.2011 11:28
quelle
2

Wenn diese Namen eindeutige Schlüssel sind, und alles, was Sie jemals tun werden, ist den Zugriff auf Ihre Personen mit diesem einzigartigen Schlüssel, sollten Sie in der Tat eher ein Wörterbuch verwenden.

Wenn Sie jedoch im Laufe der Zeit weitere Attribute hinzufügen möchten und wenn Sie eine oder mehrere Personen mit einem dieser Attribute abrufen möchten, sollten Sie eine komplexere Lösung wählen:

%Vor%

Nehmen wir an, wir haben einen Mike und zwei Dave's

%Vor%

Jetzt können Sie Personen nach Nummer finden:

%Vor%

Oder namentlich:

%Vor%

Oder beides:

%Vor%     
codecraft 03.03.2011 12:59
quelle
0

Der fehlende Unterstrich macht plist zu einer öffentlichen Eigenschaft. Ich glaube nicht, dass Sie das wollen, da es die Funktionalität nicht kapselt und Sie könnten a.plist.append anstelle von a.addPerson aufrufen.

%Vor%

Wenn die Zahlen eindeutig sind, können Sie auch ein Wörterbuch verwenden, das anstelle einer Liste eine Zuordnung von Nummer zu Name oder Person vornimmt. Aber das hängt von Ihrer Implementierung ab.

    
phihag 03.03.2011 11:30
quelle

Tags und Links