Словарь из строки с помощью comprehension

В настоящее время прохожу курс по Python, застрял на задаче. На вход подаётся строка вида '1:adf 2:434 90:kdk 0:kdke', нужно составить из неё словарь {1:'adf', 2:'434', 90:'kdk', 0:'kdke'}. Решение должно укладываться в одну строку и не использовать слова set, list, dict. Не могу верно составить выражение, мои попытки решения крутятся вокруг чего-то такого:

a = {int(key): value for (key, value) in pair.split(':') for pair in input().split()} # переменная pair не определена

Строка на входе может быть пустой. Подскажите что тут исправить или, если такая тема уже была, дайте ссылку. Я сам не нашёл.


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

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

Вы не обрамили скобками второй генератор (или же списковое включение).

Пример:

d = {int(k):v for k, v in (x.split(':') for x in input().split())}
→ Ссылка