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')
>>> 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 1
b 2
c 3
d 4