Ich benutze eine Liste umfassende "Suche", um Objekte meiner Mitarbeiterklasse zu entsprechen. Ich möchte ihnen dann einen Wert zuweisen, basierend darauf, wer der Suche entspricht.Zugriff auf Objekt aus Liste umfassende Suche in Python
Grundsätzlich entspricht das Codeäquivalent der Frage, wer Sandwiches mag und dann dieser Person ein Sandwich gibt.
Dieses Bit funktioniert
class Employee():
def __init__(self, name, age, favoriteFood):
self.name = name
self.age = age
self.favoriteFood = favoriteFood
def __repr__(self):
return "Employee {0}".format(self.name)
employee1 = Employee('John', 28, 'Pizza')
employee2 = Employee('Kate', 27, 'Sandwiches')
myList = [employee1, employee2]
a = 'Sandwiches'
b = 'Tuna Mayo Sandwich'
matchingEmployee = [x for x in myList if x.favoriteFood == a]
print matchingEmployee
Diese Drucke 'Mitarbeiter Kate' aus der Klasse repr
Das Bit ich bin stecken jetzt schenkt Kate den Thunfisch Mayo Sandwich, Wert b.
Ich hatte gehofft, etwas zu tun, wie
matchingEmployee.food = b
Aber es den Wert b nicht eine neue Variable in diesem Objekt erstellen und geben.
Jede Hilfe würde sehr erhalten werden.
'matchingEmployee' ist ein * * Liste ** übereinstimmender 'Mitarbeiter'-Objekte, keine einzige. Deshalb nennt man es * Listenverständnis *; es erstellt eine Liste. – jonrsharpe
Vielen Dank für Ihre Eingabe. Können Sie darauf hinweisen, wie Sie nur ein Ergebnis zurückgeben? – Spinnaay
https://docs.python.org/2/tutorial/introduction.html#lists – jonrsharpe