Задание - в полученном списке оставить лишь повторяющиеся элементы.
Пробовал реализовать следующим образом, но цикл for ведёт себя довольно странно - прыгает через один индекс.
def checkio(data):
for value in data:
if data.count(value) < 2:
data.remove(value)
return data
print(checkio([1, 2, 3, 4, 5]))
То есть проверяются значения: 1, 3, 5. Двойка и четвёрка каким-то магическим образом минуют проверку.
Если же заменить цикл for на while, то всё окей:
def checkio(data):
i = 0
while i < len(data):
value = data[i]
if data.count(value) < 2:
data.remove(value)
return data
print(checkio([1, 2, 3, 4, 5]))
Из-за чего это происходит? Как нужно было правильно реализовать?