使用zip創(chuàng)建字典
創(chuàng)建字典有以下三種方法
dict(a=1, b=2, c=2)dict([(a,1), (b,2), (c,3)])dict({a:1, b:2, c:3})
推薦使用第二種方法結(jié)合zip創(chuàng)建
key='abcde'value=range(1,6)dict(zip(key, value))
使用iteritems來遍歷字典
d=dict(a=1, b=2, c=3)fork, vind.iteritems():printk, v# a 1# c 3# b 2
當然也可以使用items來遍歷字典, 與之不同的是iteritems返回一個迭代器。
d=dict(a=1, b=2, c=3)fork, vind.items():printk, v# a 1# c 3# b 2
In [69]: d.iteritems()Out[69]:In [70]: d.items()Out[70]: [('a',1), ('c',3), ('b',2)]
使用get, pop來獲取/刪除key
首先,dict[key] 與 delete dict[key]也可以獲取/刪除key籽腕。但是key不存在時撕彤,會引發(fā)KeyError異常内舟。為了避免引發(fā)異秤巫可以使用get和帶defaut參數(shù)的pop
get(key[, default])
如果key在字典中雹姊,返回對應的value, 否則返回default股缸。所以從來不會引發(fā)異常。
pop(key[, default])
如果default未設置吱雏,則如果key不在字典中敦姻,刪除key將引發(fā)異常瘾境。使用時加上default。
dict(dict1, **dict2)合并兩個字典
合并兩個字典可以先把兩個字典分成key-value對镰惦,再連接兩個key-value對迷守,生成新的字典。即dict(dict1.items()+dict2.items())旺入。不過效率有些低兑凿。
使用效率更高的dict(dict1, **dict2)連接兩個字典。