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!!

questionAnswers(4)

yourAnswerToTheQuestion