Función ".format" de python

Recientemente, encontré''.format Funciona muy útil porque puede mejorar mucho la legibilidad en comparación con la% formateo Tratando de lograr un formato de cadena simple:

<code>data = {'year':2012, 'month':'april', 'location': 'q2dm1'}

year = 2012
month = 'april'
location = 'q2dm1'
a = "year: {year}, month: {month}, location: {location}"
print a.format(data)
print a.format(year=year, month=month, location=location)
print a.format(year, month, location)
</code>

Mientras que dos primeras impresiones se formatean como yo esperaba (sí,something=something se ve feo, pero eso es solo un ejemplo), el último subiráKeyError: 'year'. ¿Hay algún truco en Python para crear un diccionario de manera que rellene automáticamente las claves y los valores, por ejemplo?somefunc(year, month, location) dará salida{'year':year, 'month': month, 'location': location}?

Soy bastante nuevo en Python y no pude encontrar ninguna información sobre este tema, sin embargo, un truco como este mejoraría y reduciría drásticamente mi código actual.

Gracias de antemano y perdonen mi inglés.

Respuestas a la pregunta(5)

Su respuesta a la pregunta