我写了一个图像检查器,现在我想知道如何将这个函数中的行数减少到(如果可能的话)一行。

myFiles = ['image94.jpg','image95.png','image96.jpg','movie97.mov']
suff = ('.jpg', '.png')

# Check if files are images
def checker(suff):
    imageFiles = []
    for files in myFiles:
        if files.endswith(suff):
            imageFiles.append(files)
    return imageFiles

if checker(suff): print checker(suff)

最佳答案

使用条件列表理解:

[filename for filename in myFiles if filename.endswith(suff)]

09-06 05:03