Python:如何让字符串格式使用字典查找?

时间:2016-11-26 13:00:45

标签: python string dictionary format lookup

我正在尝试使用python 2.7和:

b={'name':'abc',address:'xyz'}
print 'hello %(name)' % b
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-92-bc9585e20f74> in <module>()
----> 1 'hello %(name)' % b

我希望此声明会显示hello abc,如何更正?

3 个答案:

答案 0 :(得分:4)

结束)后你错过了's':

print 'hello %(name)s' % b

因为你似乎是python的新手,所以你应该为将来做好准备并开始使用from __future__ import print_function以及使用@Lolgast已经指出的.format()

from __future__ import print_function

b = {'name':'abc', address:'xyz'}
print('hello {name}'.format(**b))

答案 1 :(得分:2)

您可以使用string.format功能:

b={'name':'abc',address:'xyz'}
print 'hello {name}'.format(**b)     #Note that you need to explode the dict

答案 2 :(得分:1)

你应该这样试试

b={'name':'abc','address':'xyz'}
print 'hello %s' % b['name']