Shortest Code
[x for _, x in sorted(zip(Y, X))]
Example:
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1] Z = [x for _,x in sorted(zip(Y,X))] print(Z) # ["a", "d", "h", "b", "c", "e", "i", "f", "g"]
Generally Speaking
[x for _, x in sorted(zip(Y, X), key=lambda pair: pair[0])]
Explained:
zip
the twolist
s.- create a new, sorted
list
based on thezip
usingsorted()
. - using a list comprehension extract the first elements of each pair from the sorted, zipped
list
.
For more information on how to set\use the key
parameter as well as the sorted
function in general, take a look at this.
Related Posts:
- Finding median of list in Python
- How to sort a list of objects based on an attribute of the objects?
- How to sort a list/tuple of lists/tuples by the element at a given index?
- Python data structure sort list alphabetically
- How can I reverse a list in Python?
- Difference between del, remove, and pop on lists
- What is the difference between Python’s list methods append and extend?
- Python – TypeError: ‘int’ object is not iterable
- Understanding slice notation
- how to sort pandas dataframe from one column
- Understanding slice notation
- How do I sort a dictionary by value?
- How do I sort a dictionary by value?
- IndexError: list index out of range and python
- Python – TypeError: ‘int’ object is not iterable
- How do I sort a dictionary by value?
- How to convert list to string [duplicate]
- How do I get the number of elements in a list?
- Finding the index of an item in a list
- How to make a flat list out of a list of lists
- Removing duplicates in lists
- What does the list() function do in Python?
- Why does this iterative list-growing code give IndexError: list assignment index out of range?
- TypeError: ‘float’ object is not subscriptable
- Transpose/Unzip Function (inverse of zip)?
- Python: finding an element in a list [duplicate]
- How to avoid “RuntimeError: dictionary changed size during iteration” error?
- How to avoid “RuntimeError: dictionary changed size during iteration” error?
- Finding the average of a list
- Writing a list to a file with Python
- How do I concatenate two lists in Python?
- if else in a list comprehension
- How can I randomly select an item from a list?
- Print a list in reverse order with range()?
- Get unique values from a list in python [duplicate]
- Fastest way to check if a value exists in a list
- How can I count the occurrences of a list item?
- Why is it string.join(list) instead of list.join(string)?
- Why is it string.join(list) instead of list.join(string)?
- How do I concatenate two lists in Python?
- if else in a list comprehension
- Python set to list
- Python List vs. Array – when to use?
- How to find all occurrences of an element in a list
- Get list from pandas dataframe column or row?
- How to find all the indexes of a recurring item in a list?
- python – if not in list
- How do I concatenate two lists in Python?
- How can I compare two lists in python and return matches
- Replace values in list using Python
- Get unique values from a list in python
- ‘list’ object has no attribute ‘shape’
- How do I check if a list is empty?
- Python: Get the first character of the first string in a list?
- How do I find the duplicates in a list and create another list with them?
- How to remove an element from a list by index
- TypeError: unsupported operand type(s) for -: ‘list’ and ‘list’
- Remove all occurrences of a value from a list?
- Python Sets vs Lists
- AttributeError: ‘list’ object has no attribute ‘replace’ when trying to remove character
- Python return list from function
- TypeError: list indices must be integers or slices, not str
- In Python, when to use a Dictionary, List or Set?
- Whats the difference between ‘for x in list:’ and ‘for x in list[:]:’
- Removing Punctuation From Python List Items
- Check if two unordered lists are equal
- How can I compare two lists in python and return matches
- AttributeError: ‘list’ object has no attribute ‘replace’ when trying to remove character
- How to append multiple values to a list in Python
- How do you split a list into evenly sized chunks?
- How to read a text file into a list or an array with Python
- Map to List error: Series object not callable
- how to create a list of lists
- Python assigning multiple variables to same value? list behavior
- How can I create an array/list of dictionaries in python?
- How can I remove all instances of an element from a list in Python?
- Create an empty list in Python with certain size
- How to multiply all integers inside list
- Get the cartesian product of a series of lists?
- What’s the difference between lists enclosed by square brackets and parentheses in Python?
- Appending to a list gives ‘int’ object has no attribute ‘append’
- How to remove square brackets from list in Python?
- Create nice column output in python
- TypeError: only integer arrays with one element can be converted to an index 3
- Logical indexing with lists
- How does str(list) work?
- Find the unique values in a column and then sort them
- pandas groupby sort within groups
- creating a reverse method for a python list from scratch
- Turn a single number into single digits Python
- How to create a list of objects?
- Sorting arrays in NumPy by column
- In Python, is there an elegant way to print a list in a custom format without explicit looping?
- Circular list iterator in Python
- How is Python’s List Implemented?
- Writing Python lists to columns in csv
- Create a list with initial capacity in Python
- Python initializing a list of lists
- Does Python have an immutable list?