filterはif文のTRUEのみを処理するみたいなイメージ?

filter() 関数は、与えられた条件 (関数) が True を返す要素のみを抽出します。つまり、filter() 関数は、与えられた条件を満たす要素だけを選択するためのフィルタリング機能を提供します。この条件は、通常は if 文で表現される条件と同じようなものです。

例えば、次のようなリストがあるとします:

python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

このリストから偶数のみを抽出するために filter() 関数を使用する場合、次のようになります:

python
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))

この例では、lambda を使って無名関数を定義し、その関数を filter() 関数に渡しています。この関数は各要素を受け取り、その要素が偶数であるかどうかを評価し、偶数の場合は True を返します。そして、filter() 関数は numbers リストの各要素にこの関数を適用し、True を返す要素のみを含む新しいイテレータを返します。最後に、list() を使ってイテレータをリストに変換しています。

これにより、条件が True になる要素のみをフィルタリングすることができます。

未分類

Posted by ぼっち