Seite 1 von 1

Liste abfragen ob enthalten

Verfasst: Donnerstag 2. August 2018, 11:07
von Thomas_Lindinger
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.

Re: Liste abfragen ob enthalten

Verfasst: Donnerstag 2. August 2018, 11:17
von __blackjack__
@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.

Re: Liste abfragen ob enthalten

Verfasst: Donnerstag 2. August 2018, 11:58
von kbr
@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)