Pythonで文字列のリストが重複しているかどうかをチェックする方法


Pythonで文字列のリストが重複しているかどうかをチェックする方法はいくつかあります。以下にいくつかのシンプルで簡単な方法とコード例を示します。

  1. setを使用する方法: Pythonのsetは重複要素を持たない順序付きのコレクションです。したがって、元のリストをsetに変換した結果の要素数が元のリストの要素数より小さい場合、重複があることがわかります。
def check_distinct(lst):
    return len(lst) == len(set(lst))
# 使用例
my_list = ['apple', 'banana', 'apple', 'orange']
print(check_distinct(my_list))  # False
my_list = ['apple', 'banana', 'orange']
print(check_distinct(my_list))  # True
  1. collections.Counterを使用する方法: Pythonのcollectionsモジュールには、リスト内の各要素の出現回数をカウントするためのCounterクラスがあります。重複がある場合、少なくとも1つの要素のカウントが2以上になります。
from collections import Counter
def check_distinct(lst):
    counts = Counter(lst)
    return all(count == 1 for count in counts.values())
# 使用例
my_list = ['apple', 'banana', 'apple', 'orange']
print(check_distinct(my_list))  # False
my_list = ['apple', 'banana', 'orange']
print(check_distinct(my_list))  # True

これらの方法を使用することで、Pythonで文字列のリストが重複しているかどうかを簡単にチェックすることができます。適切な方法を選択し、コードに組み込んでください。