Python | リストから指定した値の出現回数を取得する方法

Python リスト,Python

Python | リストから指定した値の出現回数を取得する方法

Pythonのcount()メソッドやfilter()関数を使ってリストから同じ値の数を取得する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

リストから指定した値の出現回数を取得する

Pythonでリストから同じ値の数を取得するにはcount()メソッドが利用可能です。
count()メソッドはリストにいくつあるか数えたい値(要素)を第一引数に指定します。

サンプルコードでは以下の手順でリストから同じ値の数の出現回数を取得しています。

  1. 対象のリストがある変数「data_list」を用意する
  2. count()メソッドで指定した値の出現回数を取得する

以下のサンプルコードでは、数値のデータを持つリストのデータに「20」がいくつあるのかcount()メソッドで取得しています。

data_list = [60, 80, 20, 40, 50, 20]

# リストから指定した値の出現回数を取得する
count = data_list.count(20)

print(count)
# 2

for文で反復処理してリストから指定した値の出現回数を取得する

以下はfor文で反復処理してリストから指定した値の出現回数を取得するサンプルコードになります。
複数の値を指定したい場合などに応用が効きます。

サンプルコードでは以下の手順でリストから同じ値の数の出現回数を取得しています。

  1. 対象のリストがある変数「data_list」を用意する
  2. 出現回数をカウントする変数「count」の値を「0」とする
  3. for()文でリストを反復し、指定した値と一致する要素があった場合に「count」に1を加算する

下記サンプルコードでは、上記と同じくリストから「20」の値がいくつあるかを取得しています。

data_list = [60, 80, 20, 40, 50, 20]

# リストから指定した値の出現回数を取得する
count = 0
for val in data_list:
	# 値が指定値と一致した場合にcountに1を加算する
	if val == 20:
		count += 1

print(count)
# 2

filter()関数を使ってリストから指定した値の出現回数を取得する

filter()関数を使って指定した値のみのリストを作成してリストの長さを数える事で出現回数を取得する事も可能です。
複数の値を指定したい場合などに応用ができますが、同じ要素だけ持つリストを作成しても使いどころはわかりません。

以下の手順でfilter()関数を使った方法を実装しています。

  1. 対象のリストがある変数「data」を用意する
  2. filter()関数で指定した値と一致する要素のみのリストを作成
  3. len()関数で作成したリストの長さを取得する

下記サンプルコードでも同じくリストから「20」の値がいくつあるかを取得しています。

data_list = [60, 80, 20, 40, 50, 20]

# リストから指定した値の出現回数を取得する
count = len(list(filter(lambda x: x == 20, data_list)))

print(count)
# 2