Python 中的嵌套字典

Manav Narula 2021年2月7日
Python 中的嵌套字典

Python 中的嵌套字典是一个字典中的字典,其中外层字典的值也是字典。下面的代码显示了一个基本的例子。

d1 = {
    0: {'Dept' : 'Mathematics','Prof':'Dr Jack'},
    1: {'Dept' : 'Physics','Prof':'Dr Mark'}
}
print(d1)

输出:

{0: {'Dept': 'Mathematics', 'Prof': 'Dr Jack'}, 1: {'Dept': 'Physics', 'Prof': 'Dr Mark'}}

我们可以很容易地使用嵌套字典的键来访问字典元素,如下例所示。

d1 = {
    0: {'Dept' : 'Mathematics','Prof':'Dr Jack'},
    1: {'Dept' : 'Physics','Prof':'Dr Mark'}
}
print(d1[0]['Dept'])

输出:

Mathematics

这里,0 是外层字典的键,'Dept' 是内层字典的键。

我们也可以像在 Python 普通字典中那样添加元素。此外,我们也可以将整个字典作为一个元素添加。例如,我们可以将整个字典作为元素添加。

d1 = {
    0: {'Dept' : 'Mathematics','Prof':'Dr Jack'},
    1: {'Dept' : 'Physics','Prof':'Dr Mark'}
}
d1[2]= {'Dept':'CS','Prof':'Dr Jay'}
print(d1[2])

输出:

{'Dept': 'CS', 'Prof': 'Dr Jay'}

Python 在 collections 模块中有一个 defaultdict() 构造函数,用来创建字典,并在访问一个不可用的键时返回一个默认值。

当你想按照你的要求返回默认值或初始化字典时,defaultdict() 数据类型非常有用。下面的代码展示了如何使用该方法创建一个简单的字典。

from collections import defaultdict

d1 = defaultdict(lambda: defaultdict(dict))
d1['key_outer_1'] = {'key_inner_1':'val1'}
d1['key_outer_2'] = {'key_inner_2':'val2'}
print(dict(d1))

输出:

{'key_outer_1': {'key_inner_1': 'val1'}, 'key_outer_2': {'key_inner_2': 'val2'}}
Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python Dictionary