Вот думаю... если генерить словарь из двух разных по длине списков и в случае если длина списка который принимается ключами длиннее чем список значений , то как этим ключам назначить None?
def makedict(keys,values):
if len(keys) > len(values):
d={keys[n]:values[n] for n in range(len(keys)) if values[n] is None: values[n]= None}
return (d)