Найдите дубликаты в Python, используя count() и set()

Вот несколько способов найти дубликаты в Python с помощью функции count()и set():

Метод 1: использование count()и set()

def find_duplicates(lst):
    duplicates = set(x for x in lst if lst.count(x) > 1)
    return duplicates
# Example usage
my_list = [1, 2, 3, 4, 1, 2, 5, 6, 3, 7, 8, 9, 9]
duplicate_values = find_duplicates(my_list)
print(duplicate_values)

Метод 2: использование collections.Counter

from collections import Counter
def find_duplicates(lst):
    counter = Counter(lst)
    duplicates = [x for x in counter if counter[x] > 1]
    return duplicates
# Example usage
my_list = [1, 2, 3, 4, 1, 2, 5, 6, 3, 7, 8, 9, 9]
duplicate_values = find_duplicates(my_list)
print(duplicate_values)

Метод 3. Использование словаря

def find_duplicates(lst):
    duplicates = []
    count_dict = {}
    for item in lst:
        count_dict[item] = count_dict.get(item, 0) + 1
        if count_dict[item] > 1 and item not in duplicates:
            duplicates.append(item)
    return duplicates
# Example usage
my_list = [1, 2, 3, 4, 1, 2, 5, 6, 3, 7, 8, 9, 9]
duplicate_values = find_duplicates(my_list)
print(duplicate_values)