Python filter() ビルトイン関数のチートシート
関数が真を返すイテラブルの要素からイテレータを構築します。iterable は、シーケンス、イテレーションをサポートするコンテナ、またはイテレータのいずれかです。関数が None の場合、恒等関数(identity function)が想定されます。つまり、iterable の偽であるすべての要素が削除されます。
Introduction
Python の filter() 関数は、イテラブルを処理し、特定の条件を満たす項目を抽出するためのビルトイン関数です。条件を満たす要素を持つ イテレータを返します。
Syntax
filter(function, iterable)
- function: イテラブルの各項目に対して実行される関数。各項目に対して
TrueまたはFalseを返す必要があります。 - iterable: フィルタリングするイテラブル(リスト、タプル、文字列など)。
Description
filter() 関数は、関数が True を返すイテラブルの要素からイテレータを構築します。関数が None の場合、イテラブルの偽であるすべての要素を削除します。
Example
def is_even(num):
return num % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(is_even, numbers))
print(even_numbers)
[2, 4, 6]
この例では、数値が偶数かどうかを判定するために is_even 関数が定義されています。filter メソッドは 2 つの引数を取ります。最初の引数はリストの各要素に適用される関数であり、2番目の引数はフィルタリングされるリストです。filter メソッドは イテレータを返し、これはリストに変換され、even_numbers 変数に格納されます。最終的な出力は、元のリストからの偶数のリストです。
Relevant links
- map(): イテラブルのすべての項目に関数を適用し、結果のイテレータを返します。
- iter(): イテレータオブジェクトを返します。
- List Comprehensions: リストを作成するための簡潔な方法であり、
filter()の代替としてよく使用されます。 - Comprehensions
- Functions
- reduce()