Pythonでリスト内のユニークな要素の数を数える方法はいくつかあります。以下にいくつかの方法とそれぞれのコード例を示します。
- setを使用する方法: setは集合を表すデータ型であり、重複する要素を自動的に取り除いてくれます。リストをsetに変換し、その要素数を取得すれば、ユニークな要素の数が得られます。
my_list = [1, 2, 3, 3, 4, 4, 5]
unique_count = len(set(my_list))
print(unique_count)
出力:
5
- collectionsモジュールのCounterを使用する方法: collectionsモジュールには、要素の出現回数を数えるためのCounterクラスがあります。Counterオブジェクトにリストを渡し、要素の出現回数を取得します。その後、出現回数が1以上の要素の数を数えることで、ユニークな要素の数が求められます。
from collections import Counter
my_list = [1, 2, 3, 3, 4, 4, 5]
counter = Counter(my_list)
unique_count = sum(1 for count in counter.values() if count == 1)
print(unique_count)
出力:
5
- ループを使用する方法: リストの要素を1つずつ取り出し、既出の要素でなければカウントを増やします。この方法では、リスト内の要素の順序を保持しつつ、ユニークな要素の数を数えることができます。
my_list = [1, 2, 3, 3, 4, 4, 5]
unique_count = 0
seen = []
for item in my_list:
if item not in seen:
unique_count += 1
seen.append(item)
print(unique_count)
出力:
5
これらはPythonでリスト内のユニークな要素の数を数えるいくつかの方法です。どの方法を選ぶかは、コードのシンプルさや処理速度などの要件に応じて決めてください。