Проверяем уникальность элементов списка
Примеры Python python списки, python удалить элемент списка, python функции списков
Задача – есть список чисел, нужно проверить каждое число на уникальность, то есть используется ли оно лишь 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. Здесь вы найдете массу разнообразных предложений готовых интернет магазинов. Каждый вариант качественный и уже готов к запуску. И главное преимущество – это скромная цена, при том что вы сразу получаете рабочий продукт.