有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。我们可以在列表中嵌套字典、在字典中嵌套列表、在字典中嵌套字典。
1.列表嵌套字典
我们可以把一个人的信息放在字典中,但是多个人的信息我们无法放在同一个字典中,所以就需要字典列表。
其语法格式:
[字典1,字典2,,,,,字典n]
编写程序如下所示:
现在我们知道了peoples是一个列表变量,peoples的数据元素是两个字典,那么我们如何通过列表来操作字典呢?
比如,我们要修改第二个字典的'name',将值修改为'王五',编写程序如下所示:
因为peoples是一个列表,我们先将列表遍历,此时的people就是一个字典变量,我们通过字典的键值对访问找到哪个字典的'name'== '李四',找到之后我们再通过字典的键值对修改,将'name'键的值更新为'王五'即可。
2.字典嵌套列表
有时我们需要将列表存储在字典中,比如一个人的爱好可以有很多,但是爱好是一个人信息中的一项,也就是字典中的一个键值对,其语法格式:
{键1:值1,键2:值2,键3:列表1,,,,键n:值n}
编写程序如下所示:
我们现在知道people是一个字典变量,其中有四个键值对,第四个键值对为列表,那么我们如何通过字典来操作列表呢?
比如我们给'hobby'添加一个'乒乓球'的数据元素,编写程序如下所示:
因为people是一个字典,通过字典对键值对的访问,将值赋值给一个列表变量hobby,然后通过列表添加数据元素,调用append函数,将'乒乓球'加入列表中。
3.字典嵌套字典
有时需要在字典中嵌套字典,比如一个人的信息中地址信息我们按照省市县进行划分,其语法格式:
{键1:值1,键2:值2,键3:字典1,,,,键n:值n}
编写程序如下所示:
我们现在知道people是一个字典变量,其中有四个键值对,第四个键值对为字典,那么我们如何通过字典来操作字典呢?
比如我们给'address'地址信息,加上街道键值对,编写程序如下所示:
因为people是一个字典,通过字典对键值对的访问,将值赋值给一个字典变量address,然后通过字典添加键值对的方式,将'jiedao':'xxx街道'添加到address这个字典变量中。
4.三者综合
在列表中嵌套字典,在字典中嵌套列表,在字典中嵌套字典根据数据信息的不同可以随机组合,编写程序如下所示
运行结果如下所示:
红色横线上面是初始peoples的初始结果,下面是经过数据操作之后的结果。
总而言之,字典与列表之间的嵌套,在程序中种类及层级都是不定的,我们要一层层去抛开数据,获取我们想要的字典或者列表,然后对其进行数据操作。