Ker*_*rry 8 python dictionary python-3.3
我试图使用嵌套字典中的项目格式化字符串(下面)
people = {
'Alice': {
'phone': '2341',
'addr': '87 Eastlake Court'
},
'Beth': {
'phone': '9102',
'addr': '563 Hartford Drive'
},
'Randy': {
'phone': '4563',
'addr': '93 SW 43rd'
}
}
Run Code Online (Sandbox Code Playgroud)
从上面的(简单)字典中,我想格式化一个字符串以打印出Randy的电话分机.
我可以使用以下方式访问他的所有详细信息:
print("Randy's phone # is %(Randy)s" % people)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何更深入地进入字典,只从字典中挑出电话号码.
顺便说一下,我正在使用Python 3.3.
Pav*_*sov 26
使用新的字符串格式:
print("Randy's phone # is {0[Randy][phone]}".format(people))
Run Code Online (Sandbox Code Playgroud)
要么
print("Randy's phone # is {Randy[phone]}".format(**people))
Run Code Online (Sandbox Code Playgroud)
如果你只使用一个值,那么传递整个字典是没有意义的.
print("Randy's phone # is {}".format(people['Randy']['phone']))
Run Code Online (Sandbox Code Playgroud)
要么
print("Randy's phone # is %s" % people['Randy']['phone'])
Run Code Online (Sandbox Code Playgroud)
也会工作.
如果你有很多这些格式字符串并且不知道它们使用哪些值,并希望它们能够访问任何值,那么传递dict是有意义的.
或者,如果在格式字符串中使用多个值并单独传递它们就太冗长了.