
9-7 字典常用的函数和方法
9-7-1 len( )
可以列出字典元素的个数。
程序实例ch9_28:列出字典以及字典内的字典元素的个数。

执行结果

9-7-2 fromkeys( )
这是建立字典的一个方法,它的语法格式如下:
name_dict = dict.fromkeys(seq[, value])# 使用seq序列建立字典
上述会使用seq序列建立字典,序列内容将是字典的键,如果没有设定value则用None当字典键的值。
程序实例ch9_29.py:分别使用列表和元组建立字典。

执行结果

9-7-3 get( )
搜寻字典的键,如果键存在则传回该键的值,如果不存在则传回默认值。
ret_value = dict.get(key[, default=none])# dict是欲搜寻的字典
key是要搜寻的键,如果找不到key则传回default的值(如果没设就传回None)。
程序实例ch9_30.py:get( )方法的应用。

执行结果

9-7-4 setdefault( )
这个方法基本上与get( )相同,不同之处在于get( )方法不会改变字典内容。使用setdefault( )方法时若所搜寻的键不在,会将键-值加入字典,如果有设定默认值则将键:默认值加入字典,如果没有设定默认值则将键:None加入字典。
ret_value = dict.setdefault(key[, default=none])# dict是欲搜寻的字典
程序实例ch9_31.py:setdefault( )方法,键在字典内的应用。

执行结果

程序实例ch9_32.py:setdefault( )方法,键不在字典内的应用。

执行结果

9-7-5 pop( )
这个方法可以删除字典元素,它的语法格式如下:
ret_value = dict.pop(key[, default])# dict是欲删除元素的字典
上述key是要搜寻删除的元素的键,找到时就将该元素从字典内删除,同时将删除键的值回传。当找不到key时则传回default设定的内容,如果没有设定则传回KeyError。
程序实例ch9_33.py:使用pop( )删除元素,同时元素存在的应用。

执行结果

程序实例ch9_34.py:使用pop( )删除元素,同时元素不存在的应用。

执行结果

习题
1.将程序实例ch9_4.py的输出结果改成一行。
2.重新设计ch9_15.py,将程序设计为可以重新输入元素,直到输入是q键程序才结束。
3.重新设计ch9_24.py,将最后3名小兵改成tag是green、score是10、speed是fast。
4.请参考ch9_26.py,设计5个旅游地点当键,值则是由字典组成,内部包含5个键-值,请自行发挥创意,然后打印出来。