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

Pythonのリスト内の一意のサブリストを数える


Pythonリストにはサブリストを含めることもできます。サブリスト自体は、より大きなリスト内にネストされたリストです。この記事では、特定のリスト内の一意のサブリストの数をカウントする方法を説明します。

カウンターの使用

CounterはDictionaryのサブクラスであり、要素とその数を追跡するために使用されます。また、要素がDictキーとして格納され、それらがdict値としてカウントされる順序付けられていないコレクションと見なされます。したがって、以下の例では、サブリストを含むリストを直接取得します。

from collections import Counter
# Given List
Alist = [['Mon'],['Tue','Wed'],['Tue','Wed']]
print(Counter(str(elem) for elem in Alist))

出力

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

Counter({"['Tue', 'Wed']": 2, "['Mon']": 1})

append()を使用

リストの要素を繰り返し処理してタプルとして設定し、同じ要素が出現するたびに1を追加し続けることもできます。最後に、サブリストをキーとして、それらのカウントを値として示す新しいリストを印刷します。

# Given List
Alist = [['Mon'],['Tue','Wed'],['Tue','Wed'], ['Tue','Wed']]

# Initialize list
NewList = {}

# Use Append through Iteration
for elem in Alist:
   NewList.setdefault(tuple(elem), list()).append(1)
for k, v in NewList.items():
   NewList[k] = sum(v)

# Print Result
print(NewList)

出力

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

{('Mon',): 1, ('Tue', 'Wed'): 3}

  1. Pythonで配列内の個別の要素をカウントする

    Pythonのリストには、重複する要素が含まれている可能性があります。リストの長さを数えると、重複する要素を含む全長が得られます。ただし、この記事では、リスト内の個別の要素または一意の要素の総数を取得する方法を説明します。 例 以下の例では、collectionsモジュールのcounter()を使用しています。このモジュールでは、Counterはハッシュ可能なオブジェクトをカウントするためのdictサブクラスです。 Counterは、要素がディクショナリキーとして格納され、それらのカウントがディクショナリ値として格納される順序付けられていないコレクションです。したがって、元のリストから、キー

  2. リストのすべてのサブリストを出力するPythonプログラム。

    リストを指定して、リストのすべてのサブリストを印刷します。 例- Input : list = [1, 2, 3] Output : [], [1], [1, 2], [1, 2, 3], [2], [2, 3], [3]] アルゴリズム Step 1 : given a list. Step 2 : take one sublist which is empty initially. Step 3 : use one for loop till length of the given list. Step 4 : Run a loop from i+1 to length of th