Pythonでジェネレータ式を用いた特定の値の出現数を数える関数を定義し実装してみます。
■今回の環境(Python)
Google Colaboratory(Google Colab),記事作成時点ではPython 3.9.16が用いられる。
■ジェネレータ式を用いた特定の値の出現数を数える関数
では、早速ジェネレータ式を用いた特定の値の出現数を数える関数を定義するために、コードを書いていきます。
■コード
def count_occurrences(lst, val): return sum(1 for x in lst if x == val) numbers = [1, 2, 2, 3, 2] count_result = count_occurrences(numbers, 2) print(count_result)
今回はまずdef文を用いてcount_occurrences()という関数を定義します。括弧内には第1の引数,パラメータとしてlstを設定し、第2の引数,パラメータとしてvalを設定します。設定後、関数が呼び出された時の処理として、 丸括弧’( )’を用いてジェネレータ式を用いる。まずfor文を用いてlstで受け取ったリスト内の要素(数値)を順番にx変数に格納する。格納後、if文を使い代入演算子”==(イコール2つ)”を用いてvalとして受け取った要素(数値)と等しい場合という条件を設定する。この条件が真(True)だった場合は、数値の「1」を返す。偽(False)だった場合は、何も返されない。if文の判定後、丸括弧’( )’内の要素(数値)に対して、sum()関数を用いて合計値が返されます。この合計値をreturnとして返すという処理になります。
関数を定義後、角括弧”[ ]”を用いてnumbersというリストを定義し、その中に要素(数値)を格納します。格納後、count_resultという変数を定義し、その中でcount_occurrences()を呼び出します。その時に括弧内に引数,パラメータとして第1の引数,パラメータにnumbers、第2の引数,パラメータにリストにある出現回数を指定する要素(数値)を渡します。これでcount_occurrences()の処理が実行され、count_resultに結果が格納されます。
最後にcount_result変数内の情報をprint()を用いて出力します。
■実行・検証
このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。
実行してみると、ジェネレータ式を用いた特定の値の出現数を数える関数を定義し、定義した関数を呼び出し、処理を実行。実行後、今回は特定の数値は「2」と指定したのでリスト内の出現数をカウントし、合計である値「3」が出力された。
コメント