Also was ich suche ist die richtige Art, eine Liste zu suchen und die Elemente basierend auf mehreren anderen Listen zu filtern.Brauchen Sie Hilfe bei Listencomprehensions. Wie man mehrere Ausschlüsse verwendet
imageList = ['green_D.jpg', 'red_D.gif', 'orange_R.jpg', 'black_S.gif', 'folder_A', 'folder_B']
included_extensions = ['jpg', 'bmp', 'png', 'gif']
excluded_textures = ['_R.', '_A.', '_S.']
Ich möchte dann über meine Imagelist und Filter incuded_extensions und dann in excluded_textures angegeben alle Textur Abkürzungen mit nur Bilder iterieren auszufiltern.
Mein Code fehlgeschlagen:
newImageList = [ (img for img in imageList) if (tex for tex in excluded_textures) not in img and any(img.endswith(ext) in img for ext in included_extensions)]
Das Ergebnis sollte dann nur
newImageList = ['green_D.jpg', 'red_D.gif']
'[ich für i in imagelist wenn any (ext in i für ext in enthalten) und nicht irgendwelche (ext in i für ext in ausgeschlossen)]'? – Bakuriu
Sie wären besser dran, indem Sie dies als Standard-Nested-Loops schreiben, * dann * versuchen, das Listenverständnis daraus zu erstellen (wenn Sie das Gefühl haben, dass Sie das brauchen). – jonrsharpe
Übrigens, nur weil etwas * als * Listenverstehen geschrieben werden kann, heißt das nicht, dass * es * als Listenverständnis geschrieben werden sollte. Lesbarkeit zählt! – DeepSpace