Como criar um dicionário com chaves de uma lista e valores padrão (digamos) zero? [duplicado

Esta pergunta já tem uma resposta aqui:

Como inicializar um ditado com chaves de uma lista e valor vazio em Pytho respostas

Eu tenhoa = [1,2,3,4] e eu querod = {1:0, 2:0, 3:0, 4:0}

d = dict(zip(q,[0 for x in range(0,len(q))]))

works mas é feio. O que é uma maneira mais limpa?