Python: использование locals () для вывода значения словаря - PullRequest
4 голосов
/ 15 февраля 2011

Один из самых хороших инструментов в 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]'

Есть идеи, как заставить это работать?

1 Ответ

6 голосов
/ 15 февраля 2011
>>> d={1:2, 3:4}
>>> print '{0[1]}'.format(d)
2
>>> print '{0[d][1]}'.format(locals())
2
>>> print '{[d][1]}'.format(locals())
2
>>>

последний работает только с 2.7

...