Good solution using formatter is already given
However you are not benefiting from keyword unpacking in this case. You are forced to specify keys you wanted to print in the format string.
format_str = '{date} {version} {comment}'
And dict as intended already maintains the Keyword-Value mapping
so for dict like this
>>> d
{'version': 'v1', 'date': 'today'}
using default value to dict.get()
>>> print '{} {} {}'.format(d['date'],d['version'],d.get('comment','n/a'))
today v1 n/a
if you want Key Word management in one place (as you did with format string), I would try something like this
>>> f=lambda x: (x.get('date'),x.get('version'),x.get('comment','N/A'))
>>> print '{} {} {}'.format(*f(d))
today v1 N/A
or this
>>> f=lambda x: '{} {} {}'.format(x['date'],x['version'],x.get('comment','N/A'))
>>> print f(d)
today v1 N/A
the benefit is, Less imports