ankon Geschrieben 14. Januar 2022 Geschrieben 14. Januar 2022 Hallo, ich schreibe ein Python-Programm, wo zwei letzten Elemente der vorgegebenen Liste 'volunteer_datas' ausgegeben werden sollten. Es muss auch die Vererbung eingesetzt werden (das ist schon realisiert): class Person: def __init__(self, name: str): self.name = name def __str__(self): return f'{self.name}' class Volunteer(Person): def __init__(self, name: str, place: str, status: str): super().__init__(name) # Обеспечивает доступ к оригиналам наследованных методов. Это полезно для доступа к унаследованным методам, которые были переопределены в классе. self.place = place self.status = status def __str__(self): return f'{self.name}, {self.place}, {self.status}' volunteer_datas = [ {"name": "Smith", "place": "Boston", "status": 'Consultant'}, {"name": "Elvin", "place": "Paris", "status": 'Mentor'}, {"name": "Schwarz", "place": "Viena", "status": 'Trainer'}] print('list of guests :') for volunteer_data in volunteer_datas: for i in volunteer_data: if i == 'name' and (volunteer_data['name'] == 'Elvin' or 'Schwarz'): obj_vol = Volunteer(volunteer_data['name'], volunteer_data['place'], volunteer_data['status']) print(obj_vol.__str__()) Das Programm gibt momentan aber alle Elementen der Liste, nicht die zwei letzten: list of guests : Smith, Boston, Consultant Elvin, Paris, Mentor Schwarz, Viena, Trainer Ich wollte zuerst die Ausgabe mittels -if- realisieren (ich weiss, es ginge auch mittel -for- aber das lieber danach). Also, bei der Ausgabe wollte ich Angaben der zwei letzten Positionen aus der Liste (mit der 'name', place', Status') bekommen: {"name": "Elvin", "place": "Paris", "status": 'Mentor'}, {"name": "Schwarz", "place": "Viena", "status": 'Trainer'} Hier bitte ich um Hilfe. Zitieren
Whiz-zarD Geschrieben 14. Januar 2022 Geschrieben 14. Januar 2022 Dafür gibt es das List Slicing. https://www.geeksforgeeks.org/python-get-last-n-elements-from-given-list/ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.