I would like to get a list containing elements from a source list in the order specified by the list of indexes.
Sample 1:
source = ["A", "B", "C", "D"]
indexes = [3, 0, 2, 1]
Result expected: [source[3], source[0], source[2], source[1]] equal ["D", "A", "C", "B"]
Sample 2:
source = ["A", "B", "C", "D"]
indexes = [2, 1, 1]
Result expected: [source[2], source[1], source[1]] equal ["C", "B", "B"]
I use a generator:
def indexator (source, indexes):
for i in indexes:
yield source[i]
result = list (indexator (source, indexes))
It works well but my question is: does Python have more elegant way for solve the specified task? Maybe there is a built-in language construction for indirect indexing?