Sorts one list based on another list containing the desired indexes.
Use zip() and sorted() to combine and sort the two lists, based on the values of indexes.
Use a list comprehension to get the first element of each pair from the result.
Use the reverse parameter in sorted() to sort the dictionary in reverse order, based on the third argument.
CODE:def sort_by_indexes(lst, indexes, reverse=False):
Example:
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)
Output: ['apples', 'bread', 'eggs', 'jam', 'milk', 'oranges']
sort_by_indexes(a, b, True)
Output: ['oranges', 'milk', 'jam', 'eggs', 'bread', 'apples']
Share and Support
@Python_Codes
>>Click here to continue<<