Python filter() 関数

Python 組み込み関数


説明

filter()この関数はシーケンスをフィルタリングし、条件に合わない要素を除去して、条件に合う要素からなる新しいリストを返します。

この関数は2つのパラメータを受け取ります。1つ目は関数、2つ目はシーケンスです。シーケンスの各要素がパラメータとして関数に渡されて判定され、True または False が返されます。最後に True を返した要素が新しいリストに入れられます。

注意:Python2.7 ではリストを返し、Python3.x ではイテレータオブジェクトを返します。詳細は次を参照してください:Python3 filter() 関数

構文

以下は filter() メソッドの構文です:

filter(function, iterable)

パラメータ

  • function -- 判定関数。
  • iterable -- 反復可能なオブジェクト。

戻り値

リストを返します。


例

以下は filter 関数を使用した例です:

リスト内のすべての奇数をフィルタリングします:

#!/usr/bin/python # -*- coding: UTF-8 -*- def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(newlist)

出力結果:

[1, 3, 5, 7, 9]

1〜100のうち平方根が整数になる数をフィルタリングします:

#!/usr/bin/python # -*- coding: UTF-8 -*- import math def is_sqr(x): return math.sqrt(x) % 1 == 0 newlist = filter(is_sqr, range(1, 101)) print(newlist)

出力結果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Python 組み込み関数

その他の拡張