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

Pythonの2Dリストで最も一般的な要素を検索する


2Dリストには、その要素としてリストがあります。言い換えれば、それはリストのリストです。この記事では、リスト内のすべてのリストの中で最も一般的な要素を見つける必要があります。

最大数とカウント数

特定のサブリストに要素が存在するかどうかを確認するために、in条件でフォローを設計します。次に、max関数とcount関数を適用して、最大頻度の要素を取得します。

def highest_freq(lst):
   SimpleList = [el for sublist in lst for el in sublist]
   return max( SimpleList, key= SimpleList.count)
# Given list
listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]]
print("Given List:\n",listA)
print("Element with highest frequency:\n",highest_freq(listA))

出力

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

Given List:
[[45, 20, 11], [20, 17, 45], [20, 13, 9]]
Element with highest frequency:
20

チェーン付き

ここでは、上記と同様のアプローチを取ります。ただし、モジュールのitertoolsのchain関数を使用します。

from itertools import chain
def highest_freq(lst):
   SimpleList = list(chain.from_iterable(lst))
   return max( SimpleList, key= SimpleList.count)
# Given list
listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]]
print("Given List:\n",listA)
print("Element with highest frequency:\n",highest_freq(listA))

出力

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

Given List:
[[45, 20, 11], [20, 17, 45], [20, 13, 9]]
Element with highest frequency:
20

カウンターとチェーン付き

このアプローチでは、コレクションのcounter関数が、itertoolsのchain関数を使用して取得された要素のカウントを保持します。

from itertools import chain
from collections import Counter
def highest_freq(lst):
   SimpleList = chain.from_iterable(lst)
   return Counter(SimpleList).most_common(1)[0][0]
# Given list
listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]]
print("Given List:\n",listA)
print("Element with highest frequency:\n",highest_freq(listA))
>

出力

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

Given List:
[[45, 20, 11], [20, 17, 45], [20, 13, 9]]
Element with highest frequency:
20

  1. リスト内の最大要素と最小要素の位置を見つけるPythonプログラム?

    Pythonでは、最大要素、最小要素、およびそれらの位置も非常に簡単に見つけることができます。 Pythonはさまざまな組み込み関数を提供します。 min()は配列の最小値を見つけるために使用され、max()は配列の最大値を見つけるために使用されます。 index()は、要素のインデックスを見つけるために使用されます。 アルゴリズム maxminposition(A, n) /* A is a user input list and n is the size of the list.*/ Step 1: use inbuilt function for finding the positi

  2. Pythonでリスト内の要素のインデックスを見つける方法は?

    List(および文字列やタプルなどの他のシーケンスタイプ)で使用できるindex()メソッドは、その中の特定の要素の最初の出現を見つけるのに役立ちます。 >>> L1=['a', 'b', 'c', 'a', 'x'] >>> L1 ['a', 'b', 'c', 'a', 'x'] >>> L1.index('a') 0 要素のすべての出現箇所のインデックスを取得す