Всё намного проще: x = dict(input().split(': '[:2] for _ in range(int(input())))
Или даже так: x = dict(input().split(': ' for _ in range(int(input()))) , если input().split(': ' гарантировано возвращает 2 значения.
Так: x = {i.split(": "[0]: i.split(": "[1] for i in [input() for _ in range(int(input()))]}. Здесь входные данные сначала собираются в список, а затем обрабатываются в словаре.