Если вы хотите сравнить два списка для различий, я думаю, что вы хотите использовать set
.
s.symmetric_difference(t) s ^ t new set with elements in either s or t but not both
пример:
>>> L1 = ['a', 'b', 'c', 'd']
>>> L2 = ['b', 'c', 'd', 'e']
>>> S1 = set(L1)
>>> S2 = set(L2)
>>> difference = list(S1.symmetric_difference(S2))
>>> print difference
['a', 'e']
>>>
однострочная форма?
>>> print list(set(L1).symmetric_difference(set(L2)))
['a', 'e']
>>>
, если вы действительно хотите использовать понимание списка:
>>> [word for word in L1 if word not in L2] + [word for word in L2 if word not in L1]
['a', 'e']
гораздо менее эффективно по мере увеличения размера списков.