Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Filter関数の活用 | 高階関数とラムダ
Pythonにおける関数型プログラミングの概念
セクション 2.  3
single

single

bookFilter関数の活用

メニューを表示するにはスワイプしてください

高階関数である map を使って、シーケンス内の各要素に関数を適用する方法はすでに学習しました。Python でのもう一つの重要な高階関数が filter です。

filter 関数は、特定の条件を満たすかどうかに基づいてシーケンスから要素を選択するために使用されます。2つの引数を受け取ります。1つ目は各要素に対して True または False を返す関数、2つ目はフィルタリング対象のシーケンスです。結果は、関数が True を返した要素のみを含むイテレータとなります。これにより、filter はリストやタプル、その他のイテラブルから、偶数、正の値、特定の長さの文字列など、基準に基づいて特定の要素を抽出したい場合に特に有用です。

123456
def is_even(n): return n % 2 == 0 numbers = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(is_even, numbers)) print(even_numbers)
copy

このコードは、filter() 関数を使って既存のコレクションから偶数のみを含む新しいリストを作成しています。述語関数 is_even(n) を定義し、filter 関数が numbers リストの各要素にこの条件を適用し、条件を満たさない要素を除外します。最後に、得られた filter オブジェクトをリストに変換し、出力を生成します。

Note
注意

filter 関数を使用すると、filter オブジェクト(イテレータ)が返されます。これはリストではありません。filter の結果を直接出力すると、次のような出力が表示されます。

<filter object at 0xfffec885eb30>

フィルタリングされた値をリストとして取得するには、list() を使って filter オブジェクトを変換する必要があります。

タスク

スワイプしてコーディングを開始

filter関数を使用して、リストから正の数を選択します。

  • is_positive関数は、引数が0より大きい場合にTrueを返し、それ以外の場合はFalseを返します。
  • filter_positive関数は、filter関数とis_positiveを組み合わせて、入力リストから正の数のみを含む新しいリストを作成します。
  • この新しいリストを返してください。
  • passを削除することを忘れないでください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  3
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt