Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリスト内の特定の数値の出現回数をカウントする方法

リストの中に特定の数値が何回出現するかを調べたい場合、リストと対象の数値を引数として受け取る関数を定義します。この関数はリストを先頭から順に走査し、対象の数値と一致する要素が見つかるたびにカウンターを1ずつ加算していきます。

以下に具体的な実装例を示します。

サンプルコード

def count_num(my_list, x_val):
    my_counter = 0
    for elem in my_list:
        if (elem == x_val):
            my_counter = my_counter + 1
    return my_counter

my_list = [66, 26, 48, 140, 66, 20, 1, 96, 86]
print("The list is :")
print(my_list)
occ_number = 66
print('{} has occurred {} times'.format(occ_number, count_num(my_list, occ_number)))

実行結果

The list is :
[66, 26, 48, 140, 66, 20, 1, 96, 86]
66 has occurred 2 times

処理の流れと解説

  • count_num という名前の関数を定義し、リストと数値を引数として受け取ります。

  • forループでリストを走査し、各要素が対象の数値と一致した場合にカウンターを1増やします。

  • ループが終了した後、カウンターの値を関数の戻り値として返します。

  • 関数の外側でリストを定義し、コンソールに表示します。

  • 検索対象となる数値を定義し、それらを引数として関数を呼び出します。

  • 結果がコンソールに出力されます。

より簡単な方法:count()メソッドを使う

Pythonでは、リスト型が標準で備えている count() メソッドを使えば、同じ処理を1行で実現できます。

my_list = [66, 26, 48, 140, 66, 20, 1, 96, 86]
print(my_list.count(66))  # 出力: 2

count() メソッドは、指定した値がリスト内に出現する回数をそのまま返してくれるため、独自の関数を定義する手間が省けます。ただし、ループ処理や条件分岐の仕組みを学習したい初心者の方にとっては、自作関数による実装も非常に良い練習になります。用途に応じて両者の使い分けをしてみてください。

  1. Pythonでリスト内の最小値を見つける方法を解説

    この記事では、リストの中から最小の数値を見つける方法について、具体的なサンプルコードとともに詳しく解説します。問題の概要問題: 数値のリストが与えられたとき、その中に含まれる最も小さい数値を画面に表示すること。この問題を解くアプローチは主に2つあります。ひとつは sort() メソッドを使ってリストを昇順に並べ替え、先頭の要素(インデックス0)を取得する方法。もうひとつは、Pythonに標準で用意されている組み込み関数 min() を使う方法です。それぞれ順番に見ていきましょう。方法1:sort()メソッドで並べ替えて最小値を取得するまずはリストを昇順にソートし、先頭の要素を取り出す方法です。

  2. PythonのLambda式とreduce関数で奇数回出現する数値を見つける方法

    はじめに 本記事では、ユーザーが入力した正の整数の配列(リスト)の中から、奇数回出現する数値を見つける方法を解説します。PythonのLambda式とfunctools.reduce関数、そしてXOR演算を組み合わせることで、この問題を非常にシンプルなコードで解決できます。 実行例 入力 : A = [2, 4, 7, 7, 4, 2, 2] 出力 : 2 この例では、2 だけが3回(奇数回)出現しているため、結果として 2 が出力されます。 アルゴリズムの仕組み この手法の鍵となるのは、XOR(排他的論理和 ^)演算が持つ以下の性質です。 同じ数同士のXORは 0 になる(例:4 ^ 4