8

我正在尝试使用嵌套字典中的项目格式化字符串(下)

    people = {
        'Alice': {
            'phone': '2341',
            'addr': '87 Eastlake Court'
            },

        'Beth': {
            'phone': '9102',
            'addr': '563 Hartford Drive'
            },

        'Randy': {
            'phone': '4563',
            'addr': '93 SW 43rd'
            }

        }

从上面的(简单)字典中,我想格式化一个字符串以打印出 Randy 的电话分机。

我可以使用以下方式访问他的所有详细信息:

    print("Randy's phone # is %(Randy)s" % people)

但我不确定如何深入字典以从字典中挑选出电话号码。

顺便说一句,我正在使用 Python 3.3。

4

1 回答 1

26

使用新的字符串格式

print("Randy's phone # is {0[Randy][phone]}".format(people))

或者

print("Randy's phone # is {Randy[phone]}".format(**people))

 

如果您只使用一个值,则传递整个字典是没有意义的。

print("Randy's phone # is {}".format(people['Randy']['phone']))

或者

print("Randy's phone # is %s" % people['Randy']['phone'])

也将工作。

如果您有很多这些格式字符串并且不知道它们使用哪些值,并且希望它们能够访问任何值,则传递 dict 是有意义的。

或者,如果您在格式字符串中使用许多值并单独传递它们就太冗长了。

于 2013-04-23T15:51:57.757 回答