Есть список:
a = [1, 2, 3, 3, 4, 5]
Требуется написать функцию в отдельном модуле, которая проверяет все ли числа в данном списке, являются уникальными.
Ответы на вопрос
Ответ:
def els_unique(c):
b = set(c)
if len(c) == len(b):
return True
else:
return False
a = [1, 2, 3, 3, 4, 5]
print(els_unique(a))
Объяснение:
Идея:
Сделаем из списка множество (в нем только уникальные элементы, неуникальные удаляются) и сравним их длины.
Программа (что происходит):
1. Напишем функцию els_unique, которая будет принимать на вход список и проверять, являются ли числа в нем уникальными.
1.1. Функция создается с помощью ключевого слова def. В скобочках пишутся аргументы. Мы передаем в функцию список. В питоне это можно сделать, просто указав название списка (которое мы будем использовать внутри функции). В конце ставим двоеточие:
- def els_unique(c):
1.2. Создадим множество (set) на основе списка:
- b = set(c)
1.3. Теперь у нас есть список с и множество b. Если не все элементы в списке были уникальными, то они удалились в множестве (и там остались только уникальные эл-ты). Если все эл-ты изначально были уникальными, длина сохраняется. Значит, осталось только сравнить длину списка и множества:
- if len(c) == len(b):
- return True
- else:
- return False
Если длина одинаковая, возвращаем True (все уникальные). Иначе - возвращаем False.
2. В основной части задаем список а и выводим значение функции:
- a = [1, 2, 3, 3, 4, 5]
- print(els_unique(a))
Итого:
Для заданного списка а = [1, 2, 3, 3, 4, 5] будет выведено значение False (тройка повторяется).
#SPJ1