Qual è il modo migliore, sia dal punto di vista estetico che dal punto di vista delle prestazioni, per dividere un elenco di elementi in più elenchi in base a un condizionale? L'equivalente di:
buono = [x for x in mylist if x in goodvals] bad = [x for x in mylist if x not in goodvals]
esiste un modo più elegante per farlo?
Aggiornamento: ecco il caso d'uso effettivo, per spiegare meglio cosa sto cercando di fare:
# file assomigliano a: [ ("file1.jpg", 33L, ".jpg "), ("file2.avi", 999L, ".avi"), ... ] IMAGE_TYPES = (".jpg",".jpeg",".gif",".bmp",".png") images = [f per f nei file se f[2].lower() in IMAGE_TYPES] anims = [f per f nei file se f[2].lower() non in IMAGE_TYPES]