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

Pythonのサブリストとして各番号の出現を追加します


要素が数値であるリストがあります。多くの要素が複数回存在します。サブリストを作成して、各要素の頻度と要素自体を作成します。

forとappendを使用

このアプローチでは、リスト内の各要素をその後の他のすべての要素と比較します。一致する場合は、カウントがインクリメントされ、要素とカウントの両方が存続します。すべての要素とその頻度を示す存在を含むリストが作成されます。

def occurrences(list_in):
   for i in range(0, len(listA)):
      a = 0
      row = []
      if i not in listB:
         for j in range(0, len(listA)):
            # matching items from both positions
            if listA[i] == listA[j]:
               a = a + 1
            row.append(listA[i])
            row.append(a)
            listB.append(row)
      # Eliminate repetitive list items
      for j in listB:
         if j not in list_uniq:
            list_uniq.append(j)
      return list_uniq
# Caller code
listA = [13,65,78,13,12,13,65]
listB = []
list_uniq = []
print("Number of occurrences of each element in the list:\n")
print(occurrences(listA))

出力

上記のコードを実行すると、次の結果が得られます-

Number of occurrences of each element in the list:
[[13, 3], [65, 2], [78, 1], [12, 1]]

カウンター付き

コレクションモジュールのcounterメソッドを使用します。リスト内のすべての要素の数が表示されます。次に、新しい空のリストを宣言し、各アイテムのキーと値のペアを要素の形式で追加し、その数を新しいリストに追加します。

from collections import Counter
def occurrences(list_in):
   c = Counter(listA)
   new_list = []
   for k, v in c.items():
      new_list.append([k, v])
   return new_list
listA = [13,65,78,13,12,13,65]
print("Number of occurrences of each element in the list:\n")
print(occurrences(listA))

出力

上記のコードを実行すると、次の結果が得られます-

Number of occurrences of each element in the list:
[[13, 3], [65, 2], [78, 1], [12, 1]]

  1. インデックス作成を利用して、Pythonリストに要素を追加します

    Pythonリストは、順序付けられて変更可能なコレクションデータ型です。また、重複メンバーを許可します。これは、Pythonプログラムで使用される最も頻繁に使用されるコレクションデータ型です。インデックス機能を使用してリストに要素を追加する方法を見ていきます。 ただし、既存のリンクに要素を追加する前に、インデックス機能を使用してリスト内の要素にアクセスしましょう。 インデックスを使用したリストへのアクセス リスト内のすべての要素はインデックスに関連付けられており、それが要素の順序を維持する方法です。インデックスをループすることで要素にアクセスできます。以下のプログラムは、インデックス1と2

  2. リスト内で2番目に大きい数を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、リストの2番目に大きい番号を表示する必要があります。 問題を解決するための3つのアプローチがあります- アプローチ1-set()関数とremove()関数を使用します 例 list1 = [11,22,1,2,5,67,21,32] # to get unique elements new_list = set(list1) # removing the largest element from list1 new_list.remove(max(new_list)) # now