字典的定义
zidian={ "key1":{ "keys1":{"a","b","c"}, "keys2":{"d","e","f"} }, "key2":{ "keys3":{"g","h"} } }
访问字典里的值
zidian["key1"]["keys1"]
修改值
del zidian["key2"] #删除key2 zidian["key1"]["keys1"]="a" #将key1键中的值修改为"a",其它内置函数下面介绍
内置函数
dict字典内置函数的使用 1、dict() 2、clear()字典清空 3、keys()得到字典的键列表 4、values()得到字典的值列表 5、items()得到字典的项,即键值对 6、D.get(key[,d]) 如果key在字典中在返回D[key],如果不存在在返回d,的默认为None 7、pop(key[,d])如果key存在,则将对应的项删除,返回该项;如果key不存在,并且没有d参数则返回错误提示,如果传入d参数则显示d的内容 8、popitem()删除字典中的一项,返回该删除项,如果字典为空则会报错 9、D.update([E,]**F) E是可选参数,F是关键字参数。用可迭代对象或者一个字典的E去更新原字典;如个E存在并且有E.keys()方法,则k in E.keys() ,D[K]=E[K]; 如果E存在,但是没有keys()方法,则用迭代方法将E中的元素更新到E中,for (key,value) in E,D[key]=value; 如果有关键字参数则,for key in F,D[k]=F[k] 10、D.copy()浅拷贝 11、fromkeys(interable,value=none) ''' # dict的创建方法 # 直接通过花括号括起来,里面存放键值对,key:value,用逗号隔开 dict1={'name':'lsm','age':30,'job':'teacher'} #dict是无序的 print(dict1) #通过dict函数创建一个字典 #dict函数的参数有三种方式 # 1、mapping,一个mapping对象(key,value)对 dict2=dict(((1,'one'),(2,'tow'),(3,'three'))) print(dict2) # 2、可迭代对象 list,tuple list1=[('name','cxf'),('age',28),('job','economic')] dict3=dict(list1) print(dict3) #3、关键字参数 dict4=dict(a='java',b='python',c='javascript') print(dict4) # 4、得到字典的键列表 print(list(dict1.keys())) # 5、得到字典的项,一个键值对的元组列表 print(dict1.items()) # 6、获取输入的key对应的value print(dict1.get('name')) print(dict1.get('city')) #不存在则返回None print(dict1.get('interest','coding')) #如果有传入第二个参数则在key不存在的时候返回第二个参数的内容 # 7、删除key对应的项,返回该项 dict1.pop('name') print(dict1) print(dict1.pop('class','该项不存在')) #这种方式比较好,如果key不存在则会返回自定义提示内容 # 8、删除一项 dict1.popitem() print(dict1) # 9、清空字典 dict1.clear() another_dict=dict2 #创建另外一个字典指向dict2所指向的字典 dict2={} #采用这种方式也可以将字典元素置为空,但实际上只是将dict2重新指向了一个空的字典,原来字典的元素还存在内存中,这是一个不保险的方法 print(another_dict) #字典的元素还是存在的 another_dict.clear() #如果用clear方法则会将字典元素从内存清空 print(another_dict) print(dict1) # 10、更新列表 update_list=[('name','llx'),('age',20),('interest','play'),('city','amoi')] #可以是一个列表 update_dict={'job':'engineer','school':'xiamen university'} #更可以是一个字典 dict1.update(update_list) print(dict1) dict1.update(update_dict) print(dict1) #用关键字更新字典 dict1.update(skill='python') print(dict1) #11、字典的拷贝 copy_dict1=dict1.copy() point_dict1=dict1 #用另外一个变量指向dict1 print('用另一个变量指向dict1的内容为:',point_dict1,'地址为:',id(point_dict1),'原dict的地址为:',id(dict1)) #可见用另一个变量所指向的地址跟原dict1所指向的地址一致 print('浅拷贝dict1的内容为:',copy_dict1,'地址为:',id(copy_dict1)) # 12、fromkeys,第一个参数是一个序列,第二个参数是value值,会生成一个以序列为key,值全部为value的字典 dict5=dict() dict5=dict5.fromkeys(range(10),'good') print(dict5)
部分代码来自:http://blog.csdn.net/xmulsm/article/details/50608928