基础数据类型之字典
一:字典
字典是python中非常重要的数据类型,在python中唯一一个映射的数据类型。字典中key是唯一的且 是不可变数据类型,value:任意数据类型。如:
dic = {"name":"jin","age":18,"sex":"male"},字典能存放大量的数据类型,且关联性较强。
二:关于字典的相关操作
1,增
dic["key"]=value,有key,就修改键值对,没有key,就按照此key添加新的键值对。
dic.setdefault("key","vaule"),如果字典中含有此key,则字典不进行任何操作;如果字典中不含有此key,则在字典中添加该键值对。具体程序如下:
dic = {"name":"jin","age":18,"sex":"male"} dic["山地车"]="ashda" print(dic) dic['name']="scd" print(dic) dic.setdefault("hobby") #添加键值对 print(dic) dic.setdefault("hobby","船长") print(dic) dic.setdefault("得到","dsfas") print(dic) dic.setdefault("name","dsfas") print(dic)
2,删
pop,按key删除 ,形式为dic.pop("key"),而且有返回值,返回值是按key所删除的vaule,如果没有此key,则会报错,不过可以自己设置返回值,这样就不会报错。
del ,形式为del dic["key"] 删除字典,按key删除键值对,如果没有此key,则会报错。
popitem,形式为dic.popitem() ,随机删除,有返回值,返回值就是删除的键值对(元组的形式)。
clear ,直接清空字典。关于删的具体程序如下:
dic = {"name":"jin","age":18,"sex":"male"} dic.pop("key") dic.pop("name") print(dic) ret=dic.pop("name") print(ret) ret=dic.pop("sss","没有次键") print(ret) dic.clear() print(dic) del dic["name"] print(dic) ret=dic.popitem() print(ret) print(dic)
3,改
dic["key"]=value, 按照key去修改键值对,有key,就修改;没有就添加该键值对。
update 将dic的键值对添加到dic2 中,如果key相同,则覆盖dic2 中的键值对;dic不变。具体程序如下:
dic = {"name":"jin","age":18,"sex":"male"} dic["name"]="fds" print(dic) dic = {"name":"jin","age":18,"sex":"male"} dic2 = {"name":"alex","weight":75} dic2.update(dic) print(dic) print(dic2)
4,查
print(dic["key"]),按照key进行查找,若有key,则打印其所对应的value;若没有此key,则报错。
print(dic.get("key")),按照key进行查找,若有key,则打印其所对应的value;若没有此key,不会报错,默认返回值是None,返回值也可以自己设置。
dic = {"name":"jin","age":18,"sex":"male"} print(dic['name']) print(dic['name2']) print(dic.get('name')) print(dic.get('name2')) print(dic.get('name2','没有此键值对'))
三:字典的嵌套
dic = { 'name':'金鑫', 'name_list':[1,2,3,'李杰'], 1:{ 'python10':['小黑','萌哥'], '老男孩':{'name':'oldboy','age':56} } } #1,[1,2,3,'李杰']追加'wusir' #2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥 #3, {'name':'oldboy','age':56} 添加一个键值对,hobby:dsf print(l.append('wusir')) print(l) dic['name_list'].append('wusir') print(dic) l = dic[1]['python10'] l.insert(1,'花哥') print(dic) dic1 = dic[1] dic2 = dic1['老男孩'] dic2['hobby'] = 'dsf' dic[1]['老男孩']['hobby'] = 'dsf' # print(dic)
四:用for循环打印字典中的元素,具体程序如下:
#打印字典中的keys #方法一: for k in dic: print(k) #方法二: for k in dic.keys(): print(k) #打印字典中的values for v in dic.values(): print(v) #打印字典中的键值对 #方法一: for k,v in dic.items(): print(k,v) #方法二: for k in dic: print(k,dic[k])