Was ist der beste Weg, sowohl ästhetisch als auch aus Performance-Sicht, eine Liste von Elementen basierend auf einer Bedingung in mehrere Listen aufzuteilen? Das Äquivalent von:
good = [x for x in mylist if x in goodvals] bad = [x for x in mylist if x not in goodvals]
gibt es einen eleganteren Weg, dies zu tun?
Update: Hier ist der tatsächliche Anwendungsfall, um besser zu erklären, was ich versuche:
# Dateien sehen aus wie: [ ("file1.jpg", 33L, ".jpg "), ("file2.avi", 999L, ".avi"), ... ] IMAGE_TYPES = (".jpg",".jpeg",".gif",".bmp",".png") images = [f für f in Dateien, wenn f[2].lower() in IMAGE_TYPES] anims = [f für f in Dateien, wenn f[2].lower() nicht in IMAGE_TYPES]