从美学和性能的角度来看,根据条件将项目列表拆分为多个列表的最佳方法是什么?相当于:
good = [x for x in mylist if x in goodvals]
bad = [x for x in mylist if x not in goodvals]
有没有更优雅的方法来做到这一点?
这是实际用例,以更好地解释我想要做的事情:
# files looks like: [ ('file1.jpg', 33L, '.jpg'), ('file2.avi', 999L, '.avi'), ... ]
IMAGE_TYPES = ('.jpg','.jpeg','.gif','.bmp','.png')
images = [f for f in files if f[2].lower() in IMAGE_TYPES]
anims = [f for f in files if f[2].lower() not in IMAGE_TYPES]
最佳答案
good, bad = [], []
for x in mylist:
(bad, good)[x in goodvals].append(x)
关于python - 如何根据条件拆分列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949098/