составной словарь из двух списков

Есть два списка:

animals=[lion,dog,dog]
id=[0042,0043,0003]

На выходе нужно получить словарь:

{'dog':[0003,0043],'lion':0042}

Сортировка ключей по длине слова, а значений - по возрастанию


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

Автор решения: Zhihar

поставил в id строки просто чтобы сохранить вид с нулями в начале

animals = ['lion', 'dog', 'dog']
id = ['0042','0043','0003']

# собрать словарь
res = dict()

for obj in zip(animals, id):
    res[obj[0]] = res.get(obj[0], []) # если в словаре отсутствует ключ - создать запись с пустым списком
    res[obj[0]].append(obj[1]) # добавить в список новый элемент

# отсортировать значения словаря
for key in res:
    res[key].sort()

print(res)
→ Ссылка