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 1

b 2

c 3

d 4

相关内容