Мои данные состоят из объектов с некоторым свойством (pk
):
obj0.pk = 'aa'
obj1.pk = 33
ojb2.pk = 'm0'
У меня есть куча неупорядоченных объектов:
data = [obj0, obj1, obj2]
И у меня есть список ПК, которые указывают, как упорядочить объекты:
pks = [33, 'aa', 'm0']
Теперь я вызываю функцию для упорядочения данных:
output = sort_data_by_pk(data, pks)
Ожидаемый результат:
[obj1, obj0, obj2]
Как мы можем реализовать sort_data_by_pk
в python?
EDIT
Моя первоначальная реализация:
def sort_data_by_pk(data, pks):
lookup = {instance.pk: instance for instance in data}
return [lookup[pk] for pk in pks]