Pythonリストで重複項目を素早く検索する方法は何ですか?

集合を使うことで重複アイテムを素早く見つけることができます。

Option:
方法1: 重複項目を検索するためにforループとコレクションを使用する

def find_duplicates(lst):
    duplicates = set()
    for item in lst:
        if lst.count(item) > 1:
            duplicates.add(item)
    return duplicates

lst = [1, 2, 3, 4, 4, 5, 6, 6, 7]
print(find_duplicates(lst))

結果:

{4, 6}

方法2:重複項目を検索するためにリスト内包表記とセットを使用します。

def find_duplicates(lst):
    return set([item for item in lst if lst.count(item) > 1])

lst = [1, 2, 3, 4, 4, 5, 6, 6, 7]
print(find_duplicates(lst))

出力:

{4, 6}
bannerAds