一、特性: 1、key-value结构,可变数据类型。 2、key必须为可hash,且必须为不可变数据类型(字符串,数字,元祖),必须唯一。 3、value可存在任意多个值,可修改,不唯一。 4、无序。 5、查找速度快(根据key查询,因为key是必须能被hash,所以根据二分查找法,速度很快)。 二、字典的方法 **1、增加:**info【“”stuo01“】=“cjk”,即把【“”stuo01“】=“cjk”加入到字典中了。 **2、修改:**info【“”stuo01“】=“wtl”即把【“”stuo01“】=“cjk”改为【“”stuo01“】=“wtl”了。 **3、判断key值在不在字典里:**用in方法:“stuo01” in info 在字典info里返回True,否则False; 4、获取元素: get方法:info.get(“stuo01”)有,则返回该元素,没有则返还NONE; 直接通过key返还:info【“stuo01”】,有则返回对应value,不过如果没有则报错,故一般用get方法。 5、删除元素: pop方法:info.pop(“stuo01”)删除同时返回key为stuo01的元素。 popitem方法:info.popitem()随机删除元素。 clear:info.clear()清空字典。 del方法: del info["stuo01"],吧key值为stuo01的元素删除。 **6、多级字典的嵌套:**利用value可以是字典的特性。 **7、**info.keys()输出所有的key;info.values()输出所有的value值。 info.items():输出一个列表,列表里吧每个key以及对应的value组成元祖形式。 8、info.update():把2个字典合成一个,如果2个字典里有重复的key,则新加进的字典的key对应的value覆盖原有的。 9、info.setdefault(2,“new2”):如果info里存在为2的key,则返回对应的value值。如果不存在,则创建以2位key,值为“new2”的元素。 **10、info.fromkeys(【‘A’,‘B’,‘C’】,‘alex’) :**返回key为A,B,C的字典,value均为“alex”,相当于批量赋值。 11、字典的循环: for k in info: print(k)打印出字典里的key; for k in info: print(k,info【k】)打印出所有key和value,此为最常用的循环方法。 for k,v in info.items(): print(k,v) 效果一样,不过items要先把字典转成列表,再去循环,故效率没有上面那个高。