Python:使用locals()打印字典值

4 投票
1 回答
6166 浏览
提问于 2025-04-16 11:52

在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
>>> 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版本。

撰写回答