Encuentra elementos no comunes en las listas.

Estoy tratando de escribir un fragmento de código que puede factorizar automáticamente una expresión. Por ejemplo, si tengo dos listas [1,2,3,4] y [2,3,5], el código debería poder encontrar los elementos comunes en las dos listas, [2,3], y combinar El resto de los elementos se juntan en una nueva lista, siendo [1,4,5].

Desde este post:¿Cómo encontrar la intersección de la lista? Veo que los elementos comunes se pueden encontrar por

set([1,2,3,4]&set([2,3,5]). 

¿Hay una manera fácil de recuperar elementos no comunes de cada lista, en mi ejemplo siendo [1,4] y [5]?

Puedo seguir adelante y hacer un bucle 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

Pero esto parece redundante e ineficiente. ¿Python proporciona alguna función útil que pueda hacer eso? ¡¡Gracias por adelantado!!

Respuestas a la pregunta(4)

Su respuesta a la pregunta