Python3 filter() 関数
説明
filter()この関数はシーケンスをフィルタリングし、条件を満たさない要素を除外して、イテレータオブジェクトを返します。リストに変換したい場合は、list()を使用して変換できます。
この関数は2つの引数を受け取ります。最初の引数は関数で、2番目の引数はシーケンスです。シーケンスの各要素は関数に引数として渡されて判断され、True または False を返します。最後に True を返した要素を新しいリストに入れます。
構文
以下は filter() メソッドの構文です:
filter(function, iterable)
引数
- function -- 判定関数。
- iterable -- 反復可能オブジェクト。
戻り値
イテレータオブジェクトを返します。
例
以下に filter 関数を使用した例を示します:
リスト内のすべての奇数を抽出します:
#!/usr/bin/python3
def is_odd(n):
return n % 2 == 1
tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)
出力結果:
[1, 3, 5, 7, 9]
1〜100のうち平方根が整数である数を抽出します:
#!/usr/bin/python3
import math
def is_sqr(x):
return math.sqrt(x) % 1 == 0
tmplist = filter(is_sqr, range(1, 101))
newlist = list(tmplist)
print(newlist)
出力結果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]その他の拡張機能