Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

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

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

Задача – есть список чисел, нужно проверить каждое число на уникальность, то есть используется ли оно лишь 1 раз.

С помощью Python для этого есть несколько вариантов. Традиционным является – берется по очереди каждый из элементов и сравнивается с каждым стоящим за ним. Как только находится первое совпадение, принимается решение о прекращении работы программы, список считается таким, который содержи повторяющиеся элементы.

Другой вариант реализуется при помощи типа данных «множества» (set). Мы знаем, что множество не может содержать одинаковые элементы. Значит мы преобразовываем имеющийся список в множество, соответственно одинаковых элементов в нем не будет. После этого нужно сравнить длину списка и множества, в результате мы сможем понять уникальный ли список. Если длинна совпадет – каждый элемент списка уникален, в ином случае – имеют место повторения.

К примеру, следующий код генерирует наш список из случайных чисел:


from random import random
N = 10 
arr = [0] * N
for i in range(N):
    arr[i] = int(random() * 50)
print(arr)

Вариант решения примера с помощью традиционного метода:


for i in range(N-1):
    for j in range(i+1,N):
        if arr[i] == arr[j]:
            print("Есть одинаковые")
            quit()
print("Все элементы уникальны")

В данном примере j будет принимать значения элемента, идущего за тем, уникальность которого нам необходимо проверить. Нет необходимости в сравнении с элементами, находящимися впереди и индексом i, поскольку предыдущим итерациям внешнего цикла эта проверка уже была присуща.

Теперь выполним то же самое посредством множетсв:


setarr = set(arr)
if len(arr) == len(setarr):
    print("Все элементы уникальны")
else:
    print("Есть одинаковые")

Для конвертирования списка в множества мы применяем функцию set().

Код выполняет таким образом:


pl@pl-desktop ~ $ python3 uniqueness.py 
[2, 4, 1, 2, 45, 38, 26, 11, 49, 25]
Есть одинаковые
pl@pl-desktop ~ $ python3 uniqueness.py 
[44, 49, 21, 19, 23, 27, 34, 9, 41, 31]
Все элементы уникальны

Если вам нужен готовый интернет магазин недорого заходите на сайт gotoviy.ru. Здесь вы найдете массу разнообразных предложений готовых интернет магазинов. Каждый вариант качественный и уже готов к запуску. И главное преимущество – это скромная цена, при том что вы сразу получаете рабочий продукт.

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)