python的字典可能只包含几个键值对,也有可能包含数百万个键值对。由于字典可能含有大量的数据,因此遍历字典是非常重要的。
遍历字典的键值对
score_item={'语文':112,'数学':125,'英语':122,'理综':245}for key,value in score_item.items(): print(key+" : "+str(value))
第一行:我们定义了一个包含各个科目分数的字典
第二行:我们遍历这个字典的键和值,for key ,value in dic.items() 是遍历字典的固定表达方法
第三行:我们打印由键和值拼接而成的字符串
可以看到字典不在意元素顺序,而是注重键值对的相关关系。
遍历字典的键
当我们只想获得键的信息的时候,我们可以使用以下方法:
favorite_pets={'Tom':'Cat','Jason':'Dog','Olive':'Pig'}for person in favorite_pets.keys(): print(person)
第一行:我们建立了一个字典,这个字典中包含有人名字的键和对应喜欢动物
的值
第二行:遍历这个字典的键使用 for key in dic.keys() 方法 dic 表示字典
第三行:打印遍历得到的键
按顺序遍历字典中所有的键:
favorite_pets={'Tom':'Cat','Jason':'Dog','Olive':'Pig'}for person in sorted(favorite_pets.keys()): print(person)print(favorite_pets)
第一行:我们建立了一个字典,这个字典中包含有人名字的键和对应喜欢动物
的值
第二行:遍历这个字典的键使用 for key in dic.keys() 方法 ,dic 表示字典
第三行:打印遍历得到的键
第四行:Sorted 为我们提供了一个按特定顺序排列的字典的键的副本,它并不会改变原始字典的顺序。
看看打印结果:
遍历字典的值
player_position={'Center':'Yao Ming','PF':'Wang Zhizhi', 'SF':'Yi Jianlin','PG':'Wang shipeng','SG':'Liu Wei'}for value in player_position.values(): print(value)
第一、二行:定义了一个球员位置的字典
第三行:遍历字典的值
第四行:打印字典的值
执行结果如下:字典的值被依次打印出来了
嵌套
字典列表:
player_center={'Center':'Yao Ming','Points':32}player_PF={'PF':'Wang ZHizhi','Points':18}player_SF={'SF':'Yi JianLin','Points':20}players_performs=[player_center,player_PF.player_SF]for player_perform in players_performs: print(player_perform )
第一行:我们建立了一个player_center的字典
第二行:我们建立了一个player_PF的字典
第三行:我们建立了一个player_SF的字典
第四行:我们用一个列表存储这个列表
第五行:遍历这个列表
第六行:打印遍历的值
我们叫这种结构为字典列表,打印出来的值可想而知,是三个字典:
字典中存储列表:
favorite_pets={'Tom':['Cat','dog'],'Jason':['Dog','Pig'],'Olive':'Pig'}print( favorite_pets['Tom'])for pet in favorite_pets['Tom']: print(pet)
第一行:定义一个包含列表的字典
第二行:当我们取字典的键的时候返回给我们对应的值,这个值是一个列表
第三行:由于值是列表,所以我们可以取出字典的值后,直接遍历这个值列表
第四行:打印遍历的结果
字典中存储字典:
player_info={
'Ya_ming':{'height':"2.26CM","Score": 24},'Yi_JianLin':{'height':"2.11CM","Score": 22}}for player,infos in player_info.items(): for v in infos.values(): print(player + " :" +str(v))
第1-3行:我们定义了一个含有字典的字典
第4行:遍历外面字典的键和值
第5行:由于得到的值仍然是一个字典,此时我们可以遍历值(内部字典)的键和值
第6行:打印球员名称和所有的值
看看执行结果:
上期答案与本期习题
上期答案:
1.定义一个字典,字典里面有一部电影的名称、角色名
movie_info={"电影名":"我和我的家乡","马亮":"沈腾"}
2.给字典添加一个导演和导演姓名的键值对,删除一个角色名键值对。
movie_info={"电影名":"我和我的家乡","马亮":"沈腾"}movie_info['导演']="沈腾"print(movie_info)del movie_info["马亮"]print(movie_info)
本期习题:
定义一个含有字典,遍历它的键和值,并打印出来
定义一个含有列表的字典,将字典中列表的值依次打印出来。
更多免费资料,请关注公众号