Example 1: sort a list by values of another one python
numbers = [1, 2, 3]
letters = ['c', 'a', 'b']
sorted_list = [number for letter, number in sorted(zip(letters, numbers))]
print(sorted_list)
Example 2: sort two lists by one python
list1 = [3,2,4,1,1]
list2 = ['three', 'two', 'four', 'one', 'one2']
list1, list2 = zip(*sorted(zip(list1, list2)))
Example 3: python sort multiple lists based on sorting of single list
list_of_lists = [[4,5,1,3,2], ['s','n','a','k','e'], ['p','l','a','n','e']]
list(map(list, list(zip(*sorted(zip(*list_of_lists), key=lambda sublist_to_sort_by: sublist_to_sort_by[0])))))
--> [[1, 2, 3, 4, 5], ['a', 'e', 'k', 's', 'n'], ['a', 'e', 'n', 'p', 'l']]
Example 4: sort list with respect to another list
list1 = [[1,1],[1,2],[1],[2,2]]
list2 = [2, 3, 1, 4]
zipped_lists = zip(list1, list2)
sorted_pairs = sorted(zipped_lists)
tuples = zip(*sorted_pairs)
c,v = [ list(tuple) for tuple in tuples]
print(c)