¿Cómo usar la comprensión de listas para agregar un elemento a las copias de un diccionario?

dado:

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

Quiero usar la comprensión de listas para generar

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

Sé que puedo hacerlo:

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

pero es un poco detallado y no tiene ninguna ventaja sobre lo que estoy tratando de reemplazar.

Esto un poco más generalpregunta sobre la fusión de diccionarios está algo relacionado pero más o menos dice que no.

Respuestas a la pregunta(1)

Su respuesta a la pregunta