リスト 文法・環境 組み込み関数

【python】リスト(list)の要素の四則演算、平均の計算方法【要素ごと、zip、map、lambda】

pythonの、リスト(list)の四則演算、平均の計算方法を紹介します。

リスト内の要素で計算する場合と、リスト間の要素ごとに計算する場合とで、計算方法が異なりますので、

それぞれの場合についてサンプルコードを用いながら紹介します。

この記事で分かること

  • リストの要素の四則演算
  • リストの要素の平均
  • 2つのリスト間の要素の四則演算を、forループで計算する方法
  • 2つのリスト間の要素の四則演算を、zip関数で計算する方法
  • 2つのリスト間の要素の四則演算を、map関数とlambda式で計算する方法

スポンサーリンク

リスト(list)の要素の四則演算

はじめに、pythonのリストの要素の四則演算の基本について紹介します。

pythonの四則演算の算術演算子は、下記になります。

pythonの四則演算の算術演算子

足し算:x + y

引き算:x - y

掛け算:x * y

割り算:x / y

商の切り下げ:x // y

割り算のあまり:x % y

べき乗:x ** y

リスト内の要素の演算について、サンプルコードを交えながら紹介します。

リスト(list)内の要素の足し算(合計)【for ループでの記述】

はじめに、リスト内の要素の和を取得する方法について、紹介します。

泥臭い方法ですが、forループを使って計算するサンプルコードです。

基本中の基本なので、初心者の方は自力で記述できるようにしておきましょう。

### リスト内の要素の和を計算【for ループ】
num_list = [1, 2, 3, 4, 5]
tmp = 0
sum_num = 0

for i in range(len(num_list)):
    tmp = num_list[i] + tmp

print(tmp)
# 15

i には、インデックス番号の0, 1, 2, 3, 4が順次渡されます。

i = 0 の場合、tmp = num_list[0] + tmp = 1 + 0

i = 1 の場合、tmp = num_list[1] + tmp = 2 + 1

と、繰り返され、リスト内の要素が足されていきます。

リスト(list)内の要素の足し算(合計)【sum関数】

リスト内の要素の和は、sum関数で簡単に計算できます。

### リスト内の要素の和を計算【sum関数】
num_list = [1, 2, 3, 4, 5]

print(sum(num_list))
# 15

スポンサーリンク

リスト(list)の要素の平均

次に、リストの要素の平均の算出方法について紹介します。

sum関数とlen関数から算出する方法

pythonの標準ライブラリである "statistics" を用いて算出する方法

の2つの方法を紹介します。

リスト(list)の要素の平均【sum / lenで計算】

sum関数とlen関数を用いて、リストの要素の平均を算出するサンプルコードです。

### sum関数とlen関数を用いて、リストの要素の平均を算出
num_list = [1, 2, 3, 4, 5]

mean = sum(num_list)/len(num_list)
print(mean)
# 3.0

リスト(list)の要素の平均【標準ライブラリstatistics使用】

pythonの標準ライブラリ statistics を使用すると、リストの平均を簡単に取得できます

書き方

import statistics

statistics.mean( リスト )

以下、サンプルコードです。

### 標準ライブラリ statistics を用いて、リストの要素の平均を算出
import statistics

num_list = [1, 2, 3, 4, 5]

mean = statistics.mean(num_list)
print(mean)
# 3

スポンサーリンク

2つのリスト(list)間の要素の四則演算を、forループを用いて計算する方法

ここからは、2つのリスト間の要素の四則演算を行う場合について、紹介します。

はじめに、forループで愚直に計算する方法を紹介します。

以下、サンプルコードです。

### 2つのリスト間の要素の四則演算を、forループを用いて計算する
num_list_1 = [1, 2, 3, 4, 5]
num_list_2 = [10, 20, 30, 40, 50]
tmp = 0
num_list_3 = []

for i in range(len(num_list_1)):
    tmp = num_list_1[i] + num_list_2[i]
    num_list_3.append(tmp)

print(num_list_3)
# [11, 22, 33, 44, 55]

2つのリスト(list)間の要素の四則演算を、zip関数で計算する方法

次に、zip関数を用いて、2つのリスト間の要素を計算する方法を紹介します。

zip関数を使用することで、複数のリストの要素をまとめて取得できるようになります。

以下のサンプルコードでは、zip関数とリスト内包表記を組合せています。

### 2つのリスト間の要素の四則演算を、zip関数を用いて計算する
num_list_1 = [1, 2, 3, 4, 5]
num_list_2 = [10, 20, 30, 40, 50]

num_list_3 = [x + y for x, y in zip(num_list_1, num_list_2)]

print(num_list_3)
# [11, 22, 33, 44, 55]

なお、zip関数については、下記の記事で紹介しています。併せて参考にしてみてください。

スポンサーリンク

リスト(list)の要素の四則演算を、map関数とlambda式で計算する方法

map関数とlambda式を用いて、2つのリスト間の要素を計算する方法を紹介します。

map関数を使用することで、リストのすべての要素に、特定の関数の処理を適用することができます

この特定の関数を、lambda式(無名関数)を用いて定義することで、コードを簡潔に記載できます。

以下、サンプルコードです。

### 2つのリスト間の要素の四則演算を、map関数とlambda式を用いて計算する
num_list_1 = [1, 2, 3, 4, 5]
num_list_2 = [10, 20, 30, 40, 50]

eq = lambda x, y : x + y

num_list_3 = map(eq, num_list_1, num_list_2)

print(num_list_3)
# <map object at 0x000002C8F4E79C50>

print(list(num_list_3))
# [11, 22, 33, 44, 55]

最後に、map型から、リスト型に変換し直しています。

なお、map関数とlambda式については、下記の記事で詳しく紹介しているので参考にしてみてください。

スポンサーリンク

まとめ

pythonの、リスト(list)の四則演算、平均の計算方法について紹介しました。

リストの要素の計算は、必要になることが多いので、自在に計算できるように練習してみてください。

スポンサーリンク

-リスト, 文法・環境, 組み込み関数
-, ,