Hello,Python!一起学Python之字典(十三)

前两周小鲸给大家介绍了Python的一些基本概念和语句撰写,今天的我们将踏上新的征程与大海,来学一学什么是字典。按照《新华字典》的解释,字典是以字为单位,按一定顺序编排,逐一说明字的读音、意义和用法的工具书。那在Python中呢,字典也代表着一种映射结构,可以进行查询。
字典
字典是另一种可变容器模型,且可存储任意类型对象,它是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组。字典类型是Python中唯一內建的映射类型。
在Python中,字典是一系列的键-值对。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在大括号{ }中 。其一般表示形式如下:
dic = {key1:value1, key2 = value2}
举个小栗子,我们来尝试建一个名字为HK的字典:
Hello,Python!一起学Python之字典(十三)
可以看到,在这个栗子中,字典里有两个键,分别为国家和语言,值分别为中国和粤语,也就是说HK的两个属性,国家属于中国,语言是粤语,通过print呢,我们来分别打印这两个属性,结果如下所示:
Hello,Python!一起学Python之字典(十三)
在上面的栗子中,字典储存的是一个对象的多个信息,你也可以使用字典来储存多个对象的同一种信息,表示方法也是类似的,这里我们同样以城市为例:
Hello,Python!一起学Python之字典(十三)
这里依然是字典的形式,只不过为了方便看清楚一一对应关系,小鲸分行写了出来,大家一定要注意缩进,不同缩进代表有不同的意思。我们可以看到,一共有5个键-值对,我们打印了其中两个的值city[‘香港’]和city[‘墨尔本’],结果显示如下:
Hello,Python!一起学Python之字典(十三)
嵌套,有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,我们可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。
有童鞋可能要问小鲸,以前两个栗子来看,如果我想要同时了解多个城市的多个属性有没有办法呢,这里就要用到嵌套了!
Hello,Python!一起学Python之字典(十三)
上图的代码看起来似乎有点复杂,我们尝试来分解一下。首先可以理解为创建了广州、香港和伦敦三个字典,每个字典包括三个属性,分别是国家、人口和邮编。接着我们把三个字典集合起来,就形成了city字典。
for name, city_info in city.items():
city_intro = city_info[‘国家’] + ‘,它的人口是’ + city_info[‘人口’] + ‘万人’
zip_code = city_info[‘邮编’]
print(name + ‘属于’ + city_intro)
print(‘该城市邮编为’ + zip_code)
如果想要遍历整个city字典里的值,打印嵌套字典里的各个元素,就需要用到上述的for语句,可声明两个变量,用于存储键—值对中的键和值。对于这两个变量,可使用任何名称。在这里例子里,小鲸是用了name和city_info两个变量名。
首先,在第一句中用到了city.items(),item() 函数表示以列表返回可遍历的(键, 值) 元组数组,city.item()表示在city这个字典中可遍历的键和值。那么第一行代码表示的意思就是对于city字典所有可遍历的键和值中存在的name和city_intro两个属性进行操作,name就是嵌套的三个字典(广州,香港,伦敦),city_info表示的是每个字典的三个属性(国家,人口,邮编)。
第二行和第三行代码分别表示的是定义city_intro和zip_code两个变量,这两个变量由国家,人口和邮编三个属性组成。第四行和第五行代码表示的是需要显示的语句。最后运行结果如下:
Hello,Python!一起学Python之字典(十三)
好了,今天关于字典的内容就介绍到这里啦~