Допустим, у нас есть список A, упорядоченный по какой-то функции, и другой список B, который должен служить ключом. Как я могу вернуть список, который сохраняет исходный порядок A, но со значениями B перед значениями не в B?
# Scenario I.
A = ['a','b','c','d']
B = ['b','d']
# Want to return: ['b','d','a','c']
# Scenario II.
A = ['a','b','c','d']
B = ['d','b']
# Want to return: ['b','d','a','c']
# Scenario III.
A = ['a','b','c','d']
B = ['d','c','b','a']
# Want to return: ['a','b','c','d']