Форум сайта python.su
Добрый день, недавно изучаю питон и для практики решаю различные задачи из учебников и различных ресурсов.
Задача такова: вывести все значения которые повторяются в строке (те из списка
[2, 2 , 1, 3, 5]
[2,2]
data = [int(i) for i in input().split()] t = 0 for y in data: if data.count(y) == 1: print(data[t]) del data[t] else: t +=1 continue print(data)
Отредактировано sl0w (Апрель 28, 2016 08:35:39)
Офлайн
Вы удаляете элемент из того же спика, по которому итерируетесь. Предположим, вы нашли нужный элемент на позиции 2. Вы его удаляете, затем все следующие элементы смещаются влево на 1 и ваша программа берет 3 элемент уже из измененного списка. Короче, делайте копию списка и проходитесь по ней, либо удаляйте из нее
Офлайн
спасибо) знал что что то не так с удалением но не понимал что именно
может кому поможет
data = [int(i) for i in input().split()] t = 0 d = data[:] for y in d: if d.count(y) == 1: del data[t] else: t +=1 continue print(data)
Офлайн