listen durchsuchen

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
Benutzeravatar
knekke
User
Beiträge: 100
Registriert: Freitag 29. Oktober 2004, 17:23
Wohnort: Schweden

Hi beisammen,
angenommen ich hab ne ellenlange Liste und bin auf der suche nach einem einzelnen Element, dessen Name ich nicht genau kenne.
Dann kann ich a: mir die ganze Liste anzeigen lassen, und ich suche per "Hand"...
oder b: mir ein Suchscript schreiben ...
oder c: jemand anderen suchen lassen...
oder d: es bleiben lassen!
Meine Favoriten in diesem Fall sind c und b, wobei b dann doch den grössten Lerneffekt hat...

Als erstes würde ich meinen Suchstring definieren, und dann für jedes Element in der Liste prüfen, ob der string enthalten ist.

Nun die Frage: mach ich das mit re.search oder findall (funktionieren die mit Listen?), und wie lassen sich wildcards realisieren?
thx
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

So könntest Du es machen:

Code: Alles auswählen

>>> import re
>>> pattern = re.compile('.*ll.*')
>>> lst = ['hello', 'you', 'fool']
>>> for i,element in enumerate(lst):
...     if pattern.match(element):
...         print "%s gefunden an Stelle %i" % (lst[i], i)
hello gefunden an Stelle 0
Gruß, mawe
Benutzeravatar
knekke
User
Beiträge: 100
Registriert: Freitag 29. Oktober 2004, 17:23
Wohnort: Schweden

Ausgezeichnet! Aber ich werd das dumpfe Gefühl nicht los, daß die Liste irgendeine geheime Botschaft beinhaltet.... :shock:

Danke Mawe und bis in kürze :wink:
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

knekke hat geschrieben: Aber ich werd das dumpfe Gefühl nicht los, daß die Liste irgendeine geheime Botschaft beinhaltet....
Hihi, das waren die ersten Worte die mir zu Deiner Frage eingefallen sind :D
Nö, nicht ernst nehmen :wink:
Antworten