上期回顾:
1.深度复制字典:deepcopy方法,必须利用copy库,这个结果只有数据,内部没有指针了。
2.如果只要赋值第一层的数据,只需采用字典自带的copy方法。
一、初始化字典
我们以前对空字典的初始化是这样的,空字典的初始化:dic1={}
我们想要初始化有数据的字典的方式:dic1={"a":"老刘","b":"老王头","c":"老张"}
现在,我们使用新的方法,根据键来进行批量初始化一个字典变量。
利用字典的fromkeys方法,传入一个列表代表键位。
方法一:初始化没有值的字典,键对应的默认值为 “None”代表空值
dic1={}.fromkeys([“a”,“b”,“c”])
注意:这里再使用fromkeys方法前需要先写一个空字典{},然后才能调用字典自带的这个fromkeys方法。
方法二:根据键初始化字典的同时初始化一个默认值
dic1={}.fromkeys(["a","b","c"],"老刘")
这里初始化后,每个键对应的值都将变为“老刘”。
二、字典值的获取
在有了字典变量后,我们可以进行字典值的获取。
常规获取方法:dic1["a"]
这个常规方法的弊端,就是当传入的键如果在字典中不存在的话,那么程序会直接报错。
为了规避常规方法获取值时候报错的情况,我们以下采用字典自带的get方法。
友好的字典获取方法是利用字典自带的get方法,这个方法可以友好的返回一个获取的结果。
怎么使用?只需要在这个方法中传入一个键就可以了。
使用get方法获取字典值的时候,如果不存在的键传入后,返回的结果是None。
本节源代码:
dic1={}.fromkeys(["a","b","c"],"老刘") print(dic1) dic1["b"]="老王" print(dic1) print("输出值") print(dic1.get("cfdsfdsa"))
执行结果:
{'a': '老刘', 'b': '老刘', 'c': '老刘'} {'a': '老刘', 'b': '老王', 'c': '老刘'} 输出值 None