Python sortuje dwie listy

Próbuję posortować dwie listy razem:

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

W każdym razie robi to na wyjściu

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

podczas gdy chciałbym zachować początkową kolejność równego numeru 4 na pierwszej liście: chcę

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

Co mam do zrobienia? Nie chciałbym używać pętli do sortowania bąbelków. Każda pomoc doceniana.

questionAnswers(3)

yourAnswerToTheQuestion