Bin zwar kein blutiger Anfänger mehr, aber stosse als Autodidakt doch immer wieder an Grenzen. Wahrscheinlich steht die Lösung für mein folgendes Problem auch schon in den Python-Büchern, die vor mir liegen (2x Weigend), aber ich weiss eben nicht, nach was für nem Stichwort ich suchen soll.
Also, folgendes:
Ich habe ein Skript geschrieben, das zwei Textdateien durchsucht, die durchnummerierte Zeilen enthalten. Zunächst sucht es in der einen Datei alle Zeilen raus die einem bestimmten Kriterium entsprechen und schreibt diese in eine Liste.
Dann durchsucht es die andere Datei nach einem anderen Kriterium und schreibt auch dort die Treffer in eine Liste.
Beide Dateien sind gleich durchnummeriert gewesen, d.h. ungefähr so:
Datei 1
1/abc
2/def
3/ghi
4/jkl
...
Datei 2
1/xyz
2/uvw
3/rst
4/opq
...
Die Liste von Datei 1 enthält jetzt z.B. ['1/abc', '3/ghi', '4/jkl'], die Liste von Datei 2 enthält in meinem Fall hier nur die Zahlen am Anfang, d.h. ['2', '3', '4'].
So. Soweit geht es. Jetzt möchte ich die beiden Listen miteinander vergleichen und zwar so, dass ich am Ende eine dritte Liste habe, in der nur die Teile aus Liste 1 stehen, deren Zahl am Anfang auch in Liste 2 vorkommt, also in meinem Beispiel: ['3/ghi', '4/jkl'].
Ich hab so viel mit try and error rumprobiert, dass ich jetzt bald gar nichts mehr weiss, hier mein letzter Versuch, der aber anscheinend in einer Endlosschleife endet.
Code: Alles auswählen
liste3 = []
for a in liste2:
for b in liste1:
if re.search(a, b):
liste3.append(b)
Danke schon mal für Eure Hilfe.
Gruß, Johannes.