Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 21, 2010 06:08:56

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

удаление из двух списков одинаковых элементов

нужно: , -> ,
пока извратился циклами

    r = []
for t in t_old:
if t in t_new: r.append(t)
for t in r:
del t_old[t]
del t_new[t]
    t_old = []
for t in t_old1:
if t not in t_new1: t_old.append(t)
t_new = []
for t in t_new1:
if t not in t_old1: t_new.append(t)
есть более красивое решение?

Отредактировано (Сен. 21, 2010 06:09:48)

Офлайн

#2 Сен. 21, 2010 07:56:16

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

удаление из двух списков одинаковых элементов

>>> l1 = [1,2,3]
>>> l2 = [3,4,5]
>>> s = set(l1) & set(l2)
>>> s
set([3])
>>> r1 = [i for i in l1 if i not in s]
>>> r1
[1, 2]
>>> r2 = [i for i in l2 if i not in s]
>>> r2
[4, 5]



Офлайн

#3 Сен. 21, 2010 08:18:58

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

удаление из двух списков одинаковых элементов

А почему не?

list(set(l1) - set(l2))
list(set(l2) - set(l1))



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Сен. 21, 2010 08:36:27

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

удаление из двух списков одинаковых элементов

а порядок? Если он не важен - тогда только множества, конечно.



Офлайн

#5 Сен. 21, 2010 08:44:12

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

удаление из двух списков одинаковых элементов

PooH
А почему не?
list(set(l1) - set(l2))
list(set(l2) - set(l1))
спасибо, то что нужно

Офлайн

#6 Сен. 21, 2010 09:18:15

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

удаление из двух списков одинаковых элементов

Андрей Светлов
а порядок? Если он не важен - тогда только множества, конечно.
Точно! Это я упустил.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#7 Сен. 24, 2010 11:58:16

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

удаление из двух списков одинаковых элементов

C сохранением порядка:

r1 = filter(lambda x: x not in l2, l1)
r2 = filter(lambda x: x not in l1, l2)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version