Python filter() ビルトイン関数のチートシート

Python 3 ドキュメントより

関数が真を返すイテラブルの要素からイテレータを構築します。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 変数に格納されます。最終的な出力は、元のリストからの偶数のリストです。

  • map(): イテラブルのすべての項目に関数を適用し、結果のイテレータを返します。
  • iter(): イテレータオブジェクトを返します。
  • List Comprehensions: リストを作成するための簡潔な方法であり、filter() の代替としてよく使用されます。
  • Comprehensions
  • Functions
  • reduce()