← クエスト一覧

クエスト30:filter()で絞り込もう

スライド 1 / 5
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 30 / 85

クエスト30:filter()で絞り込もう

応用 +10 XP
🏠
今回の課題
filter()[1, 2, 3, 4, 5, 6] から偶数だけ取り出して表示しよう。条件を変えて奇数だけにも挑戦!
📖 解説を見る
🔍 filter()って何?

filter(条件, リスト) は、条件を満たす要素だけを取り出します。

✏️ 書き方:
words = ['apple', 'kiwi', 'banana']
long_words = list(filter(lambda w: len(w) > 4, words))
print(long_words)
 → ['apple', 'banana']
filter() の第1引数が「残すかどうかを True / False で答える条件」、第2引数が元のリストです。

📋 作るもの:
filter() に「偶数かどうかを答える lambda」と nums をわたす
・偶数の判定は「2で割ったあまりが 0 かどうか」
・結果を list() で囲んでリストにする
・変数名は evens(下の print がこの名前を使う)。できあがりは [2, 4, 6]

💡 どこで使う?

「条件に合うものだけ抜き出す」絞り込みに使います。合格者だけ、在庫があるものだけ、未読メールだけ、といった一覧の絞り込みはこれで書けます。map が変換なら、filter は選別です。

⚠️ ポイント:
・条件が True を返した要素だけ残る
list() で囲まないとリストにならない
ヒントを見る
filter(条件, リスト) の形。条件のところに True / False を返す lambda を書こう。偶数かどうかは % のあまりで調べられる。結果は list() で囲むのを忘れずに。
期待する出力
[2, 4, 6]
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: [1,2,3,4,5,6,7,8,9,10]から5より大きい数だけ取り出して表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
[6, 7, 8, 9, 10]
未挑戦

問題 2: ['りんご','バナナ','みかん','ぶどう']から文字数が4以上の果物を取り出して表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
['みかん', 'ぶどう']
未挑戦

問題 3: [1,2,3,4,5,6,7,8,9]から3の倍数だけ取り出して表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
[3, 6, 9]
コピーしました!