Pythonのitertoolsを用いて整数のリストから隣接する要素の差を計算してみます。
今回はitertoolsモジュールを用います。このモジュール・ライブラリはPythonの標準ライブラリですので、事前にインストールする必要はありません。
■Python
今回のPythonのバージョンは、「3.10.9」を使用しています。(Windows11)(pythonランチャーでの確認)
■itertoolsを用いて整数のリストから隣接する要素の差を計算する
では、itertoolsを用いて整数のリストから隣接する要素の差を計算するスクリプトを書いていきます。
■コード
from itertools import pairwise def calculate_differences(numbers): differences = [] for a, b in pairwise(numbers): difference = b - a differences.append(difference) return differences # テスト用のリスト numbers_list = [1, 4, 7, 2, 5] # 隣接する要素の差を計算 result = calculate_differences(numbers_list) print(result)
まずitertoolsモジュールからpairwise関数をインポートします。pairwiseは、リストやイテラブルオブジェクトの要素を2つずつ取り出すイテレータを作成する関数です。
次にdef文を用いてcalculate_differencesという名前の関数を定義します。この関数は、整数のリストを引数として受け取り、隣接する要素の差を計算してリストとして返します。空のリストであるdifferencesを作成します。これは、隣接する要素の差を格納するためのリストです。そして「for a, b in pairwise(numbers):」と記述し、pairwiseを使って、numbersリストの要素を2つずつ取り出すループが開始されます。aとbには隣接する要素が代入されます。その後「difference = b – a」と記述し、bからaを引いて、隣接する要素の差を計算します。計算した差をappend関数を用いて、differencesリストに追加します。追加後、ループが終了した後に、計算された差を格納したdifferencesリストを関数の呼び出し元に返します。
次に「numbers_list = [1, 4, 7, 2, 5]」と記述し、テスト用の整数リストであるnumbers_listを定義します。定義後、「result = calculate_differences(numbers_list)」と記述し、calculate_differences関数をnumbers_listを引数として呼び出し、計算結果をresult変数に代入。代入後、計算された差をprint()で表示します。
■実行・検証
このスクリプトを「i_p.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、numbers_listに含まれる整数のリストから隣接する要素の差を計算し、計算結果を出力させることができました。
コメント