試圖創建一個文件列表,其中包含多個要在其上迭代的擴展名的文件列表。堆棧溢出的大部分答案都涉及使用lambda進行過濾,但我不確定在這種情況下它是如何工作的(僅僅是因爲迭代的設置方式)。到目前爲止,我有Python:從使用過濾器更尷尬的列表中刪除多個值
import fnmatch
excluded = ['*.py', '*.py~']
fileNames = []
for fileName in os.listdir('.'):
fileNames.append(fileName)
print fileNames
for p in excluded:
if fnmatch.fnmatch(fileName, p):
fileNames.remove(fileName)
print fileNames
顯然問題是,list.remove只會刪除第一個實例,而不是所有實例。你認爲解決這個問題最有效的方法是什麼?
謝謝!
你可能不是要吝嗇打印報表。否則,每次添加內容時都會再次打印整個列表。 – Matt