ich möchte gerne überprüfen, ob ALLE Werte einer Liste in einer anderen Liste vorhanden sind. Solange es sich um einfache Werte handelt, ist das kein Problem - bei der Überprüfung habe ich die Listen in Sets umgewandelt und führe den Test mit "issubset" durch. Das funktioniert auch soweit.
Nun kann es aber sein, dass auch reguläre Ausdrücke zur Überprüfung anstehen - also, das Prg soll schauen, ob ALLE Werte (auch reg. Ausdrücke) in der anderen Liste vorkommen. Die regulären Ausdrücke sollen natürlich angewendet werden.
Als Script sieht es zur Zeit in etwa so aus:
Code: Alles auswählen
ProjectList = [['D', '1', 'fumm0134', 'test', '/tmp/software/bin', 'PRD'], ['D', '1', 'fumm0071', 'test', '/tmp/software/bin', 'UAT']]
PatternList1 = ['fumm0134', 'PRD']
PatternList2 = ['134$', 'PRD']
NewList1 = []
for row in ProjectList:
if set(PatternList1).issubset(set(row)):
NewList1.append(row)
NewList2 = []
for row in ProjectList:
if set(PatternList2).issubset(set(row)):
NewList2.append(row)
print NewList1
print NewList2
Der 1. Fall funktioniert ja (PatternList1).[['D', '1', 'fumm0134', 'test', '/tmp/software/bin', 'PRD']]
[]
Der 2. Fall enthält als 1. Wert einen reg. Ausdruck (PatternList2).
Ziel wäre hier die gleiche Ausgabe in beiden Fällen!
Muss ich in diesem Fall verschachtelte Schleifen verwenden? Oder weiss jemand hier was besseres?
CU,
API