Нужно вернуть массив, состоящий только из неуникальных элементов данного массива
Функция должна возвращать такие значения
checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3]
checkio([1, 2, 3, 4, 5]) == []
checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5]
checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9]
Хочу решить эту задачу не используя одни только циклы for вложенные друг в друга. Попытался решить задачу с помощью filter, но столкнулся с ошибкой ('int' object has no attribute 'count'), а так же понимаем частичного непонимания работы lambda функции:
def checkio(data: list) -> list:
data = filter(lambda x: x.count(x)>1, data)
return data
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
ну почти сделали
ошиблись только в 1 месте - вместо x.count(x) надо было указать data.count(x)
ну и хорошо бы после filter результат перевести в список, поскольку изначально это просто итерируемый объект
def checkio(data: list) -> list:
return list(filter(lambda x: data.count(x)>1, data))
print(checkio([1, 2, 3, 1, 3]))
print(checkio([1, 2, 3, 4, 5]))
print(checkio([5, 5, 5, 5, 5]))
print(checkio([10, 9, 10, 10, 9, 8]))