python que classifica duas listas

Estou tentando classificar duas 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 qualquer forma, isso me dá na saída

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

enquanto eu gostaria de manter o pedido inicial para igual número 4 na primeira lista: o que eu quero é

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

O que eu tenho que fazer? Eu não gostaria de usar o loop para a classificação de bolhas. Qualquer ajuda apreciada.

questionAnswers(3)

yourAnswerToTheQuestion