たとえば、ここにリストがある場合:
my_list=[abc.txt, def.txt, ghi.jpg]
.txt 要素のみを含む新しいリストを作成するにはどうすればよいですか (if ステートメントを実行した結果です。たとえば、if type==.txt)。
たとえば、ここにリストがある場合:
my_list=[abc.txt, def.txt, ghi.jpg]
.txt 要素のみを含む新しいリストを作成するにはどうすればよいですか (if ステートメントを実行した結果です。たとえば、if type==.txt)。
リスト内包表記を使用できます。
new_list = [elem for elem in your_list if elem.endswith('.txt')]
list
また、変数名として使用しないでください。組み込みlist
関数にアクセスできないようにします。
>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> [x for x in files if x.endswith('.txt')]
['abc.txt', 'def.txt']
list(filter(lambda string: string.endswith(".txt"), elements_list))
それを行う別の方法を追加するだけです:
>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> result = filter(lambda x: x.endswith('.txt'), files)
>>> result
['abc.txt', 'def.txt']