【Python】filter関数まとめ【基本講座】

【Python】filter関数まとめ【基本講座】

Pythonには、filter()関数という別の関数に引数を渡しことができる関数があります。リストの要素をフィルタリングするときに用います。filter()関数はリストの要素に順に引数で指定した関数を実行し、結果がTrueとなる要素を戻します。

出典:http://www.photo-ac.com/

filter()関数をマスターしよう

filter()関数の基本書式

filter()関数の基本書式を例を使って見てみましょう。

hoge()関数の引数が3より大きければ、要素の値を100倍してリストに追加するプログラムです。map()関数とどう違うのかというと、filter()の部分をmap()に変えてみると分かります。

結果は、[0, 0, 0, 100, 100] と帰ってきます。どうやら関数でa > 3がTrueのときのみ、1(Trueのため)を返して、100倍してappend()しているようです。

つまり、filter()関数は、関数内で条件を満たすリスト内の要素を選別して、かつその要素をひとつずつ取り出し、処理して、空リストにappend()しているというわけです。

では、この例題は、lambda文に書き換えできます。できますか?

簡単ですか?では、内包表記に書き直してください。

Pythonおすすめ書籍

最初の2冊は初心者向けです。Effectiv Pythonはこの2冊を終えてから読むとかなりわかりやすく感動できると思います。

基礎 Python (IMPRESS KISO SERIES)

新品価格
¥6,200から
(2020/4/21 20:50時点)

入門 Python 3

新品価格
¥4,070から
(2020/4/21 20:53時点)

Effective Python ?Pythonプログラムを改良する59項目

新品価格
¥3,520から
(2020/4/21 20:52時点)

がんばらないでプログラマーになりたい人向けの学習方法とは?

【スクール】今流行りのプログラミングスクールについて徹底的に調べてみた