Encontre elementos não comuns nas listas
Eu estou tentando escrever um pedaço de código que pode fatorar automaticamente uma expressão. Por exemplo, se eu tiver duas listas [1,2,3,4] e [2,3,5], o código deve ser capaz de encontrar os elementos comuns nas duas listas, [2,3] e combinar o resto dos elementos juntos em uma nova lista, sendo [1,4,5].
Deste post:Como encontrar interseção de lista? Eu vejo que os elementos comuns podem ser encontrados por
set([1,2,3,4]&set([2,3,5]).
Existe uma maneira fácil de recuperar elementos não comuns de cada lista, no meu exemplo sendo [1,4] e [5]?
Eu posso ir em frente e fazer um loop for:
lists = [[1,2,3,4],[2,3,5]]
conCommon = []
common = [2,3]
for elem in lists:
for elem in eachList:
if elem not in common:
nonCommon += elem
Mas isso parece redundante e ineficiente. O Python fornece alguma função útil que possa fazer isso? Desde já, obrigado!!