Seite 1 von 1
Listenelemente n. Anfangsbuchstaben durchsuchen u. Pos. ausg
Verfasst: Dienstag 13. August 2013, 15:53
von Bettina76
Hallo,
kann mir bitte jmd bei meinem Problem helfen:
Ich habe eine Liste ['A7.1.01.13880', 'A7.1.01.14139', 'R8.1.01.14625']. In dieser Liste will ich jetzt alle Elemente mit dem Anfang "A" suchen und die Positionen dieser Elemente in der Liste ausgeben lassen.
Wahrscheinlich ganz einfach. Aber ich bin Programmieranfänger und habe bisher keinen brauchbaren Hinweise gefunden.
Kann mir jemand weiterhelfen.
Vielen Dank!
Re: Listenelemente n. Anfangsbuchstaben durchsuchen u. Pos.
Verfasst: Dienstag 13. August 2013, 15:57
von cofi
Willkommen im Forum!
Ja, ganz einfach:
Code: Alles auswählen
In [1]: a = ['A7.1.01.13880', 'A7.1.01.14139', 'R8.1.01.14625']
In [2]: [i for i, x in enumerate(a) if x.startswith('A')]
Out[2]: [0, 1]
Das geht natuerlich auch ohne List Comprehension.
Re: Listenelemente n. Anfangsbuchstaben durchsuchen u. Pos.
Verfasst: Mittwoch 14. August 2013, 09:54
von Sirius3
Hallo Bettina76,
gerade als Anfänger ist es schwierig die richtige Frage zu stellen. Deshalb frage ich mal nach: Warum möchtest Du die Position der Elemente wissen?
Re: Listenelemente n. Anfangsbuchstaben durchsuchen u. Pos.
Verfasst: Mittwoch 14. August 2013, 11:02
von Bettina76
Hallo cofi,
vielen Dank für Deine Hilfe. Hast mir damit sehr weitergeholfen
So hat's funktioniert.
Hallo Sirius3,
ich will damit mit listbox.delete ein paar Element beim Anhaken einer Checkbox aus einer Listbox wieder löschen.
Funktioniert auch schon fast.
Re: Listenelemente n. Anfangsbuchstaben durchsuchen u. Pos.
Verfasst: Mittwoch 14. August 2013, 14:30
von cofi
Ich rate mal: Es funktioniert nur fast, weil sich die Indizes verschieben.
Entweder du loeschst "von hinten" oder noch besser du erstellst direkt eine neue Liste/Listbox und sammelst die passenden Elemente statt deren Indizes in der List Comprehension.
Re: Listenelemente n. Anfangsbuchstaben durchsuchen u. Pos.
Verfasst: Mittwoch 21. August 2013, 11:46
von Bettina76
Stimmt! Das war mein Problem. Aber das mit dem "von hinten" löschen war ein super Tipp. Danke!