Словарь из строки с помощью 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())}