Один из самых хороших инструментов в Python - locals()
в форматировании строк:
>>> st="asdasd"
>>> print "%(st)s" % locals()
asdasd
Однако это невозможно сделать со значениями словаря:
>>> d={1:2, 3:4}
>>> print "%(d[1])s" % locals()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'd[1]'
Есть идеи, как заставить это работать?