2016-06-24 86 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)