Форум сайта python.su
0
Здравствуйте. Хелп.
Есть два списка в каждом из них одинаковое количество элементов:
1, 1, 2, 3, 4, 4, 4
1, 2, 3, 4, 5, 6, 7
Надо удалить из первого списка дубли и те элементы из второго списка, у которых то же положение.
Результат:
1, 2, 3, 4
1, 3, 4, 5
Элементы списков как бы “взаимосвязаны”.
Или лучше сделать такое через массив?
Отредактировано for_soul (Янв. 25, 2017 00:22:05)
Офлайн
0
Вот так вот решил. Может есть решение “красивее”?
i = 0 while i < len(lst1): if lst1[i] not in lst1_new: lst1_new.append(lst1[i]) lst2_new.append(lst2[i]) i += 1 else: i += 1
Офлайн
857
for_soulЯсно. Примени к списку функцию удаления дублей. Функцию напиши для любого списка.
Надо удалить из первого списка дубли
for_soulНеясно. Когда неясно, нужно сначала всё прояснить, а уже потом писать что-то.
и те элементы из второго списка, у которых то же положение.
Офлайн
73
a = [1, 1, 2, 3, 4, 4, 4] b = [1, 2, 3, 4, 5, 6, 7] for i in range(len(a)-1,-1,-1): if a.count(a[i]) >1: del a[i] del b[i] print(a,b,sep = '\n') [1, 2, 3, 4] [1, 3, 4, 5]
Отредактировано marvellik (Янв. 25, 2017 11:31:54)
Офлайн
0
py.user.nextну, извините, что я недостаточно технически описал задания.
Неясно. Когда неясно, нужно сначала всё прояснить, а уже потом писать что-то.
Офлайн
857
for_soulДа тебе же говорят, что не поняли ничего. Вот приходит такой какой-нибудь незнайка на форум (это частое явление на любых подобных форумах) и говорит “мне нужна программа такая, какая я точно сам не знаю, но что-то приблизительно вот к этому”, ему тупые начинают писать варианты, а он, как принцесса, сидит, выбирает и говорит “не, этот вариант неправильный - у него там число какое-то проскакивает, и этот вариант неправильный - там не все числа получаются” и тупые ему продолжают писать и писать, пишут десять кодов в итоге, и в итоге получается топик с десятью кодами, которые все неправильные в чём-то, потому что написаны по мутному заданию. И это всё только потому, что незнайка этот точно не описал задачу. Время потеряно, тупые научены, что не надо писать, когда неясно, что именно писать. А незнайка как сидел без кода, так и сидит.
но я уверен, суть вы прекрасно поняли.
for_soulВот это не описание, это какая-то приблизительная муть.
из второго списка, у которых то же положение.
Результат:
1, 2, 3, 4
1, 3, 4, 5
Элементы списков как бы “взаимосвязаны”.
Отредактировано py.user.next (Янв. 26, 2017 05:52:15)
Офлайн
0
py.user.nextне повезло мне стать одиннадцатым)
Поэтому через десяток таких незнаек одинадцатому незнайке сразу задают вопрос: ты что имеешь в виду?

Офлайн
568
for_soulВам правильно говорят, не надо воспринимать это как личную обиду.
Но я вас услышал, впредь постараюсь давать более точные ТЗ.
l1 = [1, None, 2, 3, 4, None, None]
ll = zip(l2, l1)
[(1,1), (2, None), (3, 2), (4, 3), (5, 4), (6, None), (7, None)]
l[n] > l[n-1]
Отредактировано FishHook (Янв. 26, 2017 13:43:47)
Офлайн
0
FishHookспасибо, теперь я понял в чем заключалась проблема.
Но исходя из условий задачи его применять нельзя, потому что не известно действительно ли мы получаем на вход отсортированные данные или это у вас пример неудачный.
l1 = [1, None, 2, 3, 4, None, None]
Отредактировано for_soul (Янв. 26, 2017 14:05:59)
Офлайн