Python clasificando dos listas

Estoy tratando de ordenar dos listas juntas:

list1 = [1, 2, 5, 4, 4, 3, 6]
list2 = [3, 2, 1, 2, 1, 7, 8]

list1, list2 = (list(x) for x in zip(*sorted(zip(list1, list2))))

De todos modos, haciendo esto me da salida.

list1 = [1, 2, 3, 4, 4, 5, 6]
list2 = [3, 2, 7, 1, 2, 1, 8]

aunque me gustaría mantener el orden inicial de igual número 4 en la primera lista: lo que quiero es

list1 = [1, 2, 3, 4, 4, 5, 6]
list2 = [3, 2, 7, 2, 1, 1, 8]

¿Que tengo que hacer? No quisiera usar el bucle para clasificar las burbujas. Cualquier ayuda apreciada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta