以下工作正常:
line = "Hello %(firstname)s %(lastname)s, how are you?"
print line % dict (firstname = "Mike", lastname="Kane")
Run Code Online (Sandbox Code Playgroud)
和打印:
你好Mike Kane,你好吗?
但如果我没有值lastname,我仍然希望这个工作:
line = "Hello %(firstname)s %(lastname)s, how are you?"
print line % dict (firstname = "Mike")
Run Code Online (Sandbox Code Playgroud)
我希望它只是忽略lastname键并打印:
你好迈克,你好吗?
你可以使用 defaultdict
from collections import defaultdict
line = "Hello %(firstname)s %(lastname)s, how are you?"
print line % defaultdict(str, firstname = "Mike")
Run Code Online (Sandbox Code Playgroud)
说明:defaultdict初始值设定项的第一个参数必须是可调用的,返回默认值.str是可调用的,返回一个空字符串(尝试str()).
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |