zip()
and sorted()
to combine and sort the two lists, based on the values of indexes
.reverse
parameter in sorted()
to sort the dictionary in reverse order, based on the third argument.def sort_by_indexes(lst, indexes, reverse=False): return [val for (_, val) in sorted(zip(indexes, lst), key=lambda x: \ x[0], reverse=reverse)]
a = ['eggs', 'bread', 'oranges', 'jam', 'apples', 'milk'] b = [3, 2, 6, 4, 1, 5] sort_by_indexes(a, b) # ['apples', 'bread', 'eggs', 'jam', 'milk', 'oranges'] sort_by_indexes(a, b, True) # ['oranges', 'milk', 'jam', 'eggs', 'bread', 'apples']
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️