Если у вас нет повторяющихся элементов в array2
, вы можете использовать следующее решение. Это должно быть быстрее, чем понимание списка с index()
:
from operator import itemgetter
from itertools import count
array1 = [1, 2, 3, 4, 5, 6]
array2 = [2, 6, 3, 4, 1, 5, 7, 8]
itemgetter(*array1)(dict(zip(array2, count())))
# [4, 0, 2, 3, 5, 1]
words = words.sort { it.size() }
Чтобы получить нисходящий порядок
words = words.sort { -it.size() }