Иногда в данных встречаются ошибки — например, повторы там, где их быть не должно.
Научимся быстро находить такие случаи при помощи словарей и выражений.
Вашему решению предоставлен словарь data
, в котором ключами являются слова, а значениями списки чисел.
Напишите выражение для создания множества ключей, среди значений которых есть повторы.
Примечание
В решении не должно быть ничего, кроме выражения.
Подсказка:
В случае наличия повторов, длины списка и множества построенного на нем будут различны.
Пример
Ввод
data = {'a': [1, 2, 1], 'b': [2, 3, 2, 5, 1]}
Вывод
{'a', 'b'}
Ввод
data = {'a': [1, 2, 3], 'b': [5, 2, 5], 'c': [7, 15, 3]}
Вывод
{'b'}
Решение
Как всегда, все просто – перебираем данные, проверяем, что если длина списка не совпадает с длиной множества, то мы имеем дубликаты и значит нам надо добавить наше слово-ключ в словарь. Это простой и очень эффективный прием в python. За счет особенности реализации языка, он быстрее, чем более оптимальное с точки зрения алгоритмов, но написанное на python решение.
Посмотреть код
Решение
{word for word, numbers in data.items() if len(numbers) != len(set(numbers))}