filter関数
filter関数は、特定の条件に合致する要素だけを残して、イテラブルオブジェクトの要素をフィルタリングします。
第一引数には、オブジェクトをフィルタリングするためのコールバック関数を指定します。
第二引数には、フィルタリング対象のオブジェクト自体を指定します。
オブジェクトには、コールバックがTrueを返す要素だけが残ります。
この関数は、特別なイテラブルオブジェクトを結果として返します。
これは、list関数を使ってリストに変換することができます。
構文
filter(関数, フィルタリング対象オブジェクト)
例
元のリストをフィルタリングして、偶数の要素だけからなるリストを取得してみましょう:
lst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 == 0, lst)
print(list(res))
コード実行結果:
[2, 6, 8]
例
今度は奇数の要素だけをフィルタリングしてみます:
lst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 != 0, lst)
print(list(res))
コード実行結果:
[3, 15]