Проверка на уникальность в списке

Рейтинг: 1Ответов: 2Опубликовано: 16.01.2023

Есть список:

a = [1, 2, 3, 3, 4, 5]

Какие существуют способы проверки чисел на уникальность,и какой способ является наиболее простым и понятным?

Ответы

▲ 1

Один из вариантов проверить каждое число на уникальность в пределах списка - использовать метод .count():

a = [1, 2, 3, 3, 4, 5]
for num in set(a):
    print(f'Число {num} {"" if a.count(num) == 1 else "НЕ"} уникальное в списке')
Число 1  уникальное в списке
Число 2  уникальное в списке
Число 3 НЕ уникальное в списке
Число 4  уникальное в списке
Число 5  уникальное в списке
▲ 1

Можно использовать класс Counter из модуля collections. Он превратит ваш список в словарь, где ключом будет элемент списка, а значением - количество вхождений элемента в список. Там где значение - 1 - элемент уникален, если больше 1 - не уникален.

from collections import Counter

a = [1, 2, 3, 3, 4, 5]

c = Counter(a)
print(c)

# Counter({3: 2, 1: 1, 2: 1, 4: 1, 5: 1})