0

たとえば、ここにリストがある場合:

my_list=[abc.txt, def.txt, ghi.jpg]

.txt 要素のみを含む新しいリストを作成するにはどうすればよいですか (if ステートメントを実行した結果です。たとえば、if type==.txt)。

4

4 に答える 4

3

リスト内包表記を使用できます。

new_list = [elem for elem in your_list if elem.endswith('.txt')]

listまた、変数名として使用しないでください。組み込みlist関数にアクセスできないようにします。

于 2013-04-14T04:48:46.883 に答える
2
>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> [x for x in files if x.endswith('.txt')]
['abc.txt', 'def.txt']
于 2013-04-14T04:48:40.750 に答える
0

list(filter(lambda string: string.endswith(".txt"), elements_list))

于 2013-04-14T04:51:21.640 に答える
0

それを行う別の方法を追加するだけです:

>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> result = filter(lambda x: x.endswith('.txt'), files)
>>> result
['abc.txt', 'def.txt']
于 2013-04-14T04:51:32.717 に答える