Эффективные методы поиска уникальных элементов в списке

Вот несколько способов найти список уникальных элементов в заданном списке:

  1. Использование функции set(): преобразуйте список в набор, который автоматически удаляет повторяющиеся элементы, а затем преобразуйте его обратно в список.

    my_list = [1, 2, 2, 3, 4, 4, 5]
    unique_list = list(set(my_list))
  2. Использование понимания списка: перебирайте исходный список и добавляйте элементы в новый список, только если они не были добавлены ранее.

    my_list = [1, 2, 2, 3, 4, 4, 5]
    unique_list = [x for i, x in enumerate(my_list) if x not in my_list[:i]]
  3. Использование метода dict.fromkeys(): создайте словарь с элементами списка в качестве ключей (который автоматически удаляет дубликаты), а затем извлеките ключи в виде списка.

    my_list = [1, 2, 2, 3, 4, 4, 5]
    unique_list = list(dict.fromkeys(my_list))
  4. Использование класса collections.Counter. Используйте класс Counterиз модуля collectionsдля подсчета вхождений каждого элемента в список, а затем извлеките уникальные элементы.

    from collections import Counter
    my_list = [1, 2, 2, 3, 4, 4, 5]
    unique_list = [x for x, count in Counter(my_list).items() if count == 1]
  5. Использование функции numpy.unique(): если у вас установлен NumPy, вы можете использовать функцию numpy.unique()для получения уникальных элементов из списка.

    import numpy as np
    my_list = [1, 2, 2, 3, 4, 4, 5]
    unique_list = np.unique(my_list).tolist()