filter() 関数でフィルタリングする

最終更新:2026-09-22

filter() 関数でフィルタリングする

filter(function, iterable) は iterable の中で function が True を返す要素を保持する。イテレータを返す。

カテゴリ組み込み関数
種類組み込み関数
Python バージョンall

📝 構文

filter(function, iterable)

⚙️ 引数

function 必須The predicate; pass None to use element truthiness directly.
iterable 必須The iterable to filter.

戻り値:A filter iterator; wrap with list() to materialize it.

💥 例外

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

[2, 4]
さらに多くのケースは近日公開予定です。

❓ よくある質問

Qfilter() は何を返しますか?
Afilter イテレータ(遅延)を返します。list(filter(...)) でリストに変換するか、イテレートして初めて結果を得られます。
Qfilter(None, lst) はどういう意味ですか?
Afunction が None のときは要素の真偽値でフィルタします。これは [x for x in lst if x] と等価で、0、''、None などの偽値を一度に除去できます。
Qfilter() とリスト内包表記のどちらがいいですか?
A意味が等価なら、内包表記 [x for x in lst if cond] の方が読みやすいです。一方、既存の関数と組み合わせる場合(例:filter(str.isdigit, s))は filter のほうが簡潔です。
Qfilter は判定関数を即座に呼びますか?
A呼びません。filter は遅延評価で、イテレーションが始まってから要素ごとに関数を呼びます。大規模データのチェーン処理に適しています。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%