Liste abfragen ob enthalten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Thomas_Lindinger
User
Beiträge: 5
Registriert: Montag 23. Juli 2018, 12:23

Ich möchte mir aus einer Liste alle Positionen ausgeben lassen wo ein bestimmter String-teil enthalten ist.

Als Beispiel:

Liste[ Auto, Haus, Affe, Baum , Strasse , Tor)

Wenn Liste 'au' enthält gib mir die Position und das Wort an.

Resultat:

0 Auto
1 Haus
3 Baum

Gibt es da eine Funktion mit der ist dies machen kann, leider wüsste ich nicht wie ich das 'enthält' ausdrücken kann.
Benutzeravatar
__blackjack__
User
Beiträge: 13071
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Thomas_Lindinger: Ob eine Zeichenkette in einer anderen enthalten ist, kann man mit dem ``in``-Operator prüfen. Eine fertige Funktion oder Methode für Dein Anliegen gibt es nicht, aber mit `enumerate()`, ``in``, und einer „list comprehension“ oder einem Generatorausdruck, lässt sich das recht einfach und kompakt als ein Ausdruck formulieren.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@Thomas_Lindinger: eine mögliche Lösung könnte so aussehen:

Code: Alles auswählen

ml = ['Auto', 'Haus', 'Affe', 'Baum' , 'Strasse' , 'Tor']

def search_subsequence(iterable, subsequence):
    return ((index, value) for index, value in enumerate(iterable) if subsequence in value.lower())

for index, value in search_subsequence(ml, 'au'):
    print(index, value)
Antworten