2.12.1 读取

dict是一种无序的容器数据类型,它的元素不能通过下标(位置偏移量)来访问,而是通过在中括号中指定key来访问。


airports = {
    "PVG": "上海浦东国际机场",
    "PEK": "北京首都国际机场"
}

print(airports['PVG'])
print(airports['PEK'])

执行结果如下:


上海浦东国际机场
北京首都国际机场

如果指定的key不存在,代码会出错。


airports['PPG']

执行结果如下:


KeyError: 'PPG'

要特别注意的是,字符串类型的key是区分大小写的。


airports = {
    "PVG": "上海浦东国际机场",
    "PEK": "北京首都国际机场"
}
print(airports['Pvg'])

执行结果如下:


KeyError: 'Pvg'

在上一节中,我们已经看到了如何定义多层嵌套的dict。


personal_info = {
    "name": "Zhang San",
    "age": 28,
    "married": False,
    "languages": ["Mandarin", "Cantonese", "English"],
    "friends": {
        "Li Si": {
            "phone": "18888888888"
        },
        "Wang Wu": {
            "phone": "18666666666",
            "city": "Shanghai"
        }
    }
}

对于这类嵌套结构的dict,我们可以用链式表达来访问元素。


print(personal_info['name'])
print(personal_info['friends']['Wang Wu']['phone'])

执行结果如下:


Zhang San
18666666666