Информатика, вопрос задал ben456 , 1 год назад

Есть список:
a = [1, 2, 3, 3, 4, 5]
Требуется написать функцию в отдельном модуле, которая проверяет все ли числа в данном списке, являются уникальными.

Ответы на вопрос

Ответил SheWhoRunsOnTheWaves
0

Ответ:

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

Новые вопросы