反復する複数の拡張子を持つファイルのリストを作成しようとしています。スタックオーバーフローに関するほとんどの回答には、ラムダを使用したフィルタリングが含まれていますが、この場合にこれがどのように機能するかはわかりません (反復の設定方法のため)。これまでのところ、
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 が最初のインスタンスのみを削除し、すべてのインスタンスを削除しないことです。この問題を解決する最も効率的な方法は何だと思いますか?
ありがとう!