一:字典
字典是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:dsfprint(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)#打印字典中的valuesfor v in dic.values(): print(v)#打印字典中的键值对#方法一:for k,v in dic.items(): print(k,v)#方法二: for k in dic: print(k,dic[k])