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

Pythonでタプル内の特定要素の出現回数をカウントする方法を徹底解説

この記事では、ユーザーが入力したタプルの中に、指定した要素が何回出現するかを数えるPythonプログラムを紹介します。初心者にもわかりやすいように、アルゴリズムの手順・サンプルコード・実行結果を順番に解説していきます。

入力: A = [10, 20, 30, 40, 10, 100, 80, 10]
       X = 10
出力: 3

この例では、リスト(タプル)内に「10」が3つ含まれているため、出力は「3」になります。

アルゴリズム

出現回数をカウントする関数 countoccur(A, x) の処理手順は以下の通りです(Aは配列、xは出現回数を数えたい要素)。

  1. ステップ1: 同じ要素を数えるためのカウンター変数を用意し、0で初期化します。
  2. ステップ2: タプルの各要素を先頭から順に走査します。
  3. ステップ3: 走査中の各要素と x を照合します。
  4. ステップ4: 要素が x と一致した場合、カウンターを1増やします。
  5. ステップ5: 最後にカウンター変数の値を返します。

サンプルコード

# タプル内の要素の出現回数を数えるプログラム

def countoccur(A, x):
    c = 0
    for i in A:
        if (i == x):
            c = c + 1
    return c

# ドライバーコード
A = list()
n1 = int(input("リストのサイズを入力してください:"))
print("リストの要素を入力してください:")
for i in range(int(n1)):
    k = int(input(""))
    A.append(k)
n = int(input("出現回数を数えたい要素を入力してください:"))
print(n, "の出現回数は", countoccur(A, n), "です")

実行結果

リストのサイズを入力してください:6
リストの要素を入力してください:
12
23
45
12
89
12
出現回数を数えたい要素を入力してください:12
12 の出現回数は 3 です

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

Pythonでは、タプルやリストには標準で count() メソッドが用意されており、上記のようなループ処理を自分で書かなくても1行で出現回数を取得できます。

A = (10, 20, 30, 40, 10, 100, 80, 10)
print(A.count(10))  # 結果: 3

tuple.count(x) は、指定した要素 x がタプル内に出現する回数を返してくれるため、実際の開発ではこちらを使うのがシンプルでおすすめです。なお、今回紹介した自作関数のアプローチは、タプルだけでなくリストなど他のシーケンス型にもそのまま応用できます。

  1. Pythonで配列の反転数(転倒数)をカウントする方法

    はじめに この記事では、配列内の反転(インバージョン)をカウントする問題とその解決策について詳しく解説します。 問題定義 問題: リストが与えられたとき、その中に含まれる反転の数をカウントして表示します。 反転数とは、配列を昇順にソートされた状態にするために必要な入れ替え(スワップ)の回数を表す指標です。具体的には、i < j かつ arr[i] > arr[j] を満たす要素のペア(i, j)の総数として定義されます。 実装例 # 反転数をカウントする関数 def InvCount(arr, n): inv_count = 0 for i in range(n

  2. Pythonで学ぶ線形探索(リニアサーチ)の基本と実装方法

    この記事では、最も基本的な検索アルゴリズムの一つである「線形探索(Linear Search)」の仕組みを理解し、Python 3.xでの実装方法をわかりやすく解説します。 線形探索のアルゴリズム 配列 arr[] の左端の要素から順に、目的の要素 x と各要素を一つずつ比較していきます x がいずれかの要素と一致した場合、そのインデックス(位置)を返します x が配列内のどの要素とも一致しなかった場合、-1 を返すか「要素が見つからない」ことを示します それでは、このアプローチの流れを視覚的に確認してみましょう。 実装例 def linearsearch(arr, x):