Проблема связана с array.remove(item)
, он удаляет элемент в посещенной позиции индекса. Таким образом, номер индекса уменьшается на единицу и делает цикл, чтобы пропустить чтение следующего значения.
[1, 3, 4, 2, 2, 3, 4]
-> до 1-й итерации индекса 0 -> значение = 1
[3, 4, 2, 2, 3, 4]
->После удаления 1-й итерации 1 индекс 0 -> значение = 3 (цикл не читает его, поскольку он уже читает индекс 0, поэтому цикл читает индекс 1 -> значение 4)
Исправьте код для отображения значений бездубликаты:
array = [1,3,4,2,2,3,4]
def duplicates(array):
mylist = []
for item in array:
if item not in mylist:
mylist.append(item)
#array.remove(item)
return mylist
res=duplicates(array)
print (res)