Verständnishilfe

Code-Stücke können hier veröffentlicht werden.
Antworten
zeitalex
User
Beiträge: 2
Registriert: Mittwoch 23. Februar 2022, 12:04

könnte mir jemand erklären wie diese Zeile zu verstehen ist:

Code: Alles auswählen

res = [ele for ele in test_list if(ele in client.id)]
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Der Begriff, den du googeln musst, heißt “list comprehension Python”.
zeitalex
User
Beiträge: 2
Registriert: Mittwoch 23. Februar 2022, 12:04

vielen Dank
Benutzeravatar
Codroid
User
Beiträge: 5
Registriert: Donnerstag 10. März 2022, 12:30
Kontaktdaten:

Das was dort zu sehen ist, nennt man in Python eine 'list comprehension'. Dabei werden mehrere Arbeitsschritte in einer eizelnen Codezeile erledigt.

In diesem Fall wird ein Vergleich zwischen test_list (scheinbar der Datentyp Liste) und client.id (Könnte beispielsweise eine Liste oder ein Dictionary sein) durchgeführt.
Folgende Arbeitsschritte werden erledigt:

1. Es wird eine Variable namens 'res' erstellt.
2. In diese wird eine neue Liste gespeichert, die zunächst leer ist.
3. Die Liste wird nun mit verschiedenen Einträgen gefüllt, die in der Variable 'ele' gespeichert sind.
4. Der Inhalt der Variable 'ele' wird jedesmal neu durch die nachfolgende for-Schleife generiert (for ele in test_list).
5. Test-List beinhaltet alle Elemente die zur neuen Liste 'res' hinzugefügt werden sollen.
6. Durch die If-Bedingung wird vorher aber noch überprüft, ob das aktuelle element 'ele' der for-Schleife in 'client.id' vorkommt oder nicht.
7. 'ele' wird also nur in die neue Liste 'res' hinzugefügt, wenn 'ele' auch in client.id zu finden ist.

Falls du noch Fragen hast, kannst du auch gerne eine PN schreiben ;)
Codroid ist eine Programmierschule in der das praktische Programmieren mit Python unterrichtet wird. Falls du Interesse hast, dann schreibe gerne eine PN oder email.
Antworten