создания массива python

Начал изучать Python и столкнулся с такой задачей.
Имеется список со строками, так же имеется список с числами. Задача заключается в том, что список с числами нужно сделать ключами списка со строками. При этом размер обоих массивов одинаковый и после создания словаря отсортировать его по ключам.
К примеру дано:

arr1 = ['value1', 'value2', 'value3', 'value4', 'value5']
arr2 = [6,2,3,7,8]

В результате должен получится такой словарь

arr3 = {6:'value1', 2: 'value2', 3:'value3', 7:'value4', 8:'value5'}

После этого нужно отсортировать словарь по ключам по возрастанию.
Вопрос в том можно ли сделать такой алгоритм как можно лаконичней и короче?


Ответы (1 шт):

Автор решения: Кирилл Малышев
arr1 = ['valu1', 'value2', 'value3', 'value4', 'value5']
arr2 = [6,2,3,7,8]
dct = dict(sorted(zip(arr2, arr1)))
print(dct)

Тут сортировка происходит перед созданием словаря. Но словари в принципе не умеют сортироваться. Можно сделать

dct = dict(sorted(dct.items()))

Ну тут сортируются кортежи, из которых заново создаëтся словарь.

→ Ссылка