Форум сайта python.su
нужно: , -> ,
пока извратился циклами
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)
Офлайн
>>> 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]
Офлайн
А почему не?
list(set(l1) - set(l2))
list(set(l2) - set(l1))
Офлайн
а порядок? Если он не важен - тогда только множества, конечно.
Офлайн
PooHспасибо, то что нужно
А почему не?list(set(l1) - set(l2))
list(set(l2) - set(l1))
Офлайн
Андрей СветловТочно! Это я упустил.
а порядок? Если он не важен - тогда только множества, конечно.
Офлайн
C сохранением порядка:
r1 = filter(lambda x: x not in l2, l1)
r2 = filter(lambda x: x not in l1, l2)
Офлайн