Code: Alles auswählen
string_list = ["Andreas", "Andre", "Andrew", "Anderson", "Anton"]
search_term = "An"
for element in string_list:
if search_term in element:
print "List of the elements", element
List of the elements Andreas
List of the elements Andre
List of the elements Andrew
List of the elements Anderson
List of the elements Anton
Code: Alles auswählen
string_list = ["Andreas", "Andre", "Andrew", "Anderson"]
search_term = "An"
if [element for element in string_list if search_term in element]:
print "Search found: ", element
else:
print "Nothing there"
Eine Frage vorab: Wieso springt das Suchergebnis hier auf Anderson und nicht anstatt auf Andreas? Hat meine Suchfunktion - im wahrsten Sinne sdes Wortes, einen Sprung in der Schüssel?Search found: Anderson
Eines haben die beiden doch gemeinsam, und zwar, sind die "unzuverlässig". Ich hatte folgende Vorstellung. In einer Liste werden bestimmte Variablen geladen, die dann überprüft werden soll, also ob ein bestimmtes Element in der Liste vorhanden ist, wenn nicht, dann soll das Programm etwas anderes tun, wenn ja, dann auch wieder was anderes. Aber wir sehen in meinen beiden Beispielen, dass wir hier mehrere Namen haben, die alle mit "An" beginnen. Bei der Suche wird "fälschlicherweise" behauptet, dass es das Element "An" gibt. Dies hat eher das Verhalten einer Like-Operation von MySQL. Gibt es eine Möglichkeit, dass man sagen kann, dass er genau und exakt nach dem Wort "An" in der Liste suchen soll und nicht nach Ähnlichkeiten?