2011-02-15 86 views
4

一个在Python的最好的工具是locals()在字符串格式化:的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]' 

任何想法如何使这项工作?

+0

工作我不知道我得到的语法糖类比`locals`。谨慎澄清? – 2011-02-15 13:41:37

+1

``%(键)s“%d`?请注意,只有字符串键可以这种方式使用。 – ulidtko 2011-02-15 13:41:54

回答

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