0から始めるPython独学ラボ

化学専門の大学生が趣味で始めたPythonをできるだけ分かりやすく説明します

無名関数のfilterについて

今回の記事では、無名関数lambdaを用いたfilterの使い方を取り扱っていきます。前回の記事で取り扱ったmap関数と概ね同じです。mapはリストの全要素に処理を施すために使われますが、filterはリストから任意の要素を取り出すときに使われます。構文は以下のようになります。

 

filter(function, iterable)

 

filter関数の戻り値は、functionがTrueを返す要素だけで作成したものです。しかし、それはfilterオブジェクトなので、list関数に渡してリストに変換する必要があります。

 

以下は、リストのうち偶数のものだけを取り出して新しいリストを作るプログラムです。

 

テキストエディタ

nums = [1, 2, 3, 4]

nums2 = list(filter(lambda x : x%2 == 0, nums))
print(nums2)

 

実行結果

[2, 4]

 

このように、numsのうち x%2 == 0をみたす要素だけをfilter関数を用いると取り出すことができます。

 

以上で今回の記事は終わりです。お疲れさまでした。