Como usar a compreensão da lista para adicionar um elemento às cópias de um dicionário?

dado:

template = {'a': 'b', 'c': 'd'}
add = ['e', 'f']
k = 'z'

Eu quero usar a compreensão da lista para gerar

[{'a': 'b', 'c': 'd', 'z': 'e'},
 {'a': 'b', 'c': 'd', 'z': 'f'}]

Eu sei que posso fazer isso:

out = []
for v in add:
  t = template.copy()
  t[k] = v
  out.append(t)

mas é um pouco detalhado e não tem vantagem sobre o que estou tentando substituir.

Isso é um pouco mais geralpergunta sobre a fusão de dicionários está um pouco relacionado, mas mais ou menos diz que não.

questionAnswers(1)

yourAnswerToTheQuestion