Given two lists, sort the values of one list using the second list.
Input : list1 = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] list2 = [ 0, 1, 1, 0, 1, 2, 2, 0, 1] Output :['a', 'd', 'h', 'b', 'c', 'e', 'i', 'f', 'g'] Input : list1 = ["g", "e", "e", "k", "s", "f", "o", "r", "g", "e", "e", "k", "s"] list2 = [ 0, 1, 1, 0, 1, 2, 2, 0, 1] Output : ['g', 'k', 'r', 'e', 'e', 'g', 's', 'f', 'o']
- Zip the two lists.
- Create a new, sorted list based on the zip using sorted().
- Using a list comprehension extract the first elements of each pair from the sorted, zipped list.
The purpose of zip() is to map the similar index of multiple containers so that they can be used just using as single entity.
Below is the implementation of above approach:
['a', 'd', 'h', 'b', 'c', 'e', 'i', 'f', 'g'] ['g', 'k', 'r', 'e', 'e', 'g', 's', 'f', 'o']
In the above code, we have two lists, first list is being sorted with respect to the values of second list.
y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1]
Here first the lowest value are checked.Like in this list, 0 is lowest, so starting from first index, 0 is lowest and it is at index 0. So value of index 0 is stored at index 0 in the first list. Similarly, 0 is again found at index 3 and so value of index 3 in first list is index 1. The same goes until the list is not completed.
- Python | Sort list containing alphanumeric values
- Python | Ways to sort list of float values
- Python | Ways to sort a zipped list by values
- Ways to sort list of dictionaries by values in Python – Using itemgetter
- Ways to sort list of dictionaries by values in Python - Using lambda function
- Python | Remove all values from a list present in other list
- Python | Sort list according to other list order
- Python | Sort list of list by specified index
- Python | Sort Flatten list of list
- Python | Get unique values from a list
- Python | Filter even values from a list
- Python | Check if all the values in a list are less than a given value
- Python | Remove None values from list
- Python | Number of values greater than K in list
- Python | Add only numeric values present in a list
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.