2016-06-24 47 views
1

我想用我的字典参数在我的字符串 这里是我的字典使用.format用绳子dictonary

a = {"first_name": "ABC", "last_name": "PQR"} 

以下语句将产生正确的输出

"{first_name}{last_name}".format(**a) 

,但我想下面的输出

"{ Hello {first_name} {last_name}.}".format(**a) 
>>> '{ Hello ABC PQR.}' 

它给keyerror

KeyError         Traceback (most recent call last) 
<ipython-input-50-84fc42fb81f2> in <module>() 
----> 1 "{ Hello {first_name} {last_name}.}".format(**a) 

KeyError: ' Hello {first_name} {last_name}' 
+0

占位符使用'{...}'。不要将这些用于文字文本。 –

+0

是否要将第一个和最后一个{}显示在屏幕上? (是你想要的输出“{你好ABC PQR。}”?) – phogl

+0

@phogl是我想要这个输出“{你好ABC PQR。}”?) –

回答

0

您可以通过他们加倍文字输入括号:

>>> a = {"first_name": "ABC", "last_name": "PQR"} 
>>> "{{ Hello {first_name} {last_name}.}}".format(**a) 
'{ Hello ABC PQR.}' 
2

你并不需要在格式化Hello

"{{Hello {first_name} {last_name}.}}".format(**a) 

# "{Hello ABC PQR.}" 

使用双花括号{{}}逃脱{}

+1

嘿,误解了这个问题。 –

+0

其实我想要“{你好ABC PQR。}”,这是我的要求。 –

+0

@MartijnPieters OP的问题不是很清楚,我显然做了同样的误解 –

1

我想你的意思是

"{{ Hello {first_name} {last_name}.}}".format(**a)