Welcome 微信登录

首页 / 操作系统 / Linux / Python 学习笔记【dict的操作方法】

dict 称作字典(dictionary)。常见的形式Dict = {"spam":1,"eggs":2}  单层key,value形式的字典Dict = {"mans":{"jack":1,"john":2}}  嵌套字典
普通的用法len(Dict) 长度,储存对象的数量Dict["spam"] = 3 新建/修改键值del Dict["spam"]  删除键
构造方法>>> Dict = {}  
{}>>> Dict = dict.fromkeys(["a","b"]){"a":None,"b":None}>>> Dict = dict(zip(["a","b"],["1","2"])){"a":"1","b":"2"}>>> Dict = dict(a="1",b="2"){"a":"1","b":"2"}

操作方法Dict = {"a":1,"b":2,"c":3,"d":4}
Dict.has_key(key)  判断一个字典是否有某个key>>> Dict.has_key("b")True>>> Dict.has_key("e")False
Dict.keys()  获得一个字典所有的key,存入一个list中>>> Dict.keys()["a","b","c","d"]
Dict.values() 获得一个字典所有的value,存入一个list中[1,2,3,4]
Dict.copy()  将一个Dict拷贝给另一个Dict,而不是传索引>>> Dict_1 = Dict.copy()>>> Dict_1["a"] = 0>>> Dict_1,Dict{"a":0,"b":2,"c":3,"d":4},{"a":1,"b":2,"c":3,"d":4}如果是Dict_1 = Dict 那么任意dict改变之后,另外一个也会改变,=号赋值是引用传递
Dict.get(key, default) 获得指定key的值,如果没有值,返回default值>>> Dict.get("a")0>>> Dict.get("e",100)100
Dict.update(Dict_1) 遍历Dict_1来更新Dict   (  PS: 类似与jQuery中的  p = $.extend({....},p);   )help(Dict.update)的内容如下:update(...)
    D.update(E, **F) -> None.  Update D from dict/iterable E and F.
    If E has a .keys() method, does:     for k in E: D[k] = E[k]
    If E lacks .keys() method, does:     for (k, v) in E: D[k] = v
    In either case, this is followed by: for k in F: D[k] = F[k]
>>> Dict_1 = Dict.copy()>>> Dict_1["e"] = 100>>> Dict_1["a"] = -1>>> Dict,Dict_1{"a":1,"b":2,"c":3,"d":4},{"a":-1,"b":2,"c":3,"d":4,"e":100}
>>> Dict.update(Dict_1)>>> Dict{"a":-1,"b":2,"c":3,"d":4,"e":100}

Dict.pop(key)  取出一个key,并从dict中移除他>>> Dict.pop("a")1>>> Dict{"b":2,"c":3,"d":4}

Dict.clear()  清空字典>>> Dict.clear(){}
Dict.items()  把dict变为可遍历的元组数组>>> Dict.items()[("a",1),("b",2),("c",3),("d",4)]>>> for k,v in Dict.items():...           print k,v...a 1b 2c 3d 4