Seite 1 von 1

listen durchsuchen

Verfasst: Mittwoch 13. April 2005, 15:27
von knekke
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

Verfasst: Mittwoch 13. April 2005, 16:07
von mawe
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

Verfasst: Mittwoch 13. April 2005, 16:48
von knekke
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:

Verfasst: Mittwoch 13. April 2005, 16:52
von mawe
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: