Pythonのfilter()関数を使用しリストのフィルタリングしてみます。
■Python
Google Colaboratory(Google Colab),Python3.7.10
■filter()関数を使用しリストのフィルタリングする
では、早速filter()関数を使用しリストのフィルタリングするスクリプトを書いていきます。
■コード
def filter_test(n): if n > 10: return n if __name__ == "__main__": list_test = [5,9,7,13,20,40,50,100] list_filtering = list(filter(filter_test,list_test)) print(list_filtering)
リストのフィルタリングするために、今回は「if __name__ == “__main__”」でモジュールを作成します。モジュールを実行し、実行したいコードを中に記述します。まずはフィルタリングするリストを、角括弧( [ ] )を使用し定義します。今回はlist_testというリストを定義しています。
その後、list_filteringという変数を定義し、その中で、filter()関数を使用します。filter()関数の括弧内には、第1の引数,パラメータとして、function(関数)を渡します。これはフィルタリングをする際に、シーケンスの各要素がTRUE(真)かどうかをチェックします。今回の関数は、filter_testという関数をdef文を使用し定義します。filter_testという関数の括弧内の引数は、「n」としておきます。
次に、関数が呼び出された場合の処理を記述します。今回はif文を使用し、nが10より大きい場合をさらに比較演算子”>”で記述します。これでnが10より小さい数値をフィルタリングすることができます。あとは、returnで戻り値のnを返します。この関数を定義し使用します。
filter()関数の括弧内の、第2の引数,パラメータでは、フィルタリングするリストを渡します。これで、フィルタリングするリストであるlist_testから、filter_testという関数を使用し、list_test内の要素をフィルタリングします。
フィルタリング後、list()関数を使用し、空のリストを作成し、その中にフィルタリングされた要素を格納します。
格納後、print()関数でlist_filteringの情報を出力します。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、モジュールが実行され、今回用意したリストであるlist_test内の要素(数値)から、指定した条件の数値のみをフィルタリングし、フィルタリングされたリストをprint()関数で出力させることができました。
コメント