第4章 字典:當索引不好用時
![](http://picture-repository-of-heamon7.qiniudn.com/第4章 Pyhon-字典:當索引不好用時.png)
第4章 字典:當索引不好用時
4.1 字典的使用
字典是Python唯一內(nèi)建的映射類型宅此,通過名字進行引用翼馆,鍵可以是數(shù)字罢猪,字符串,元組
4.2創(chuàng)建和使用字典
字典中鍵是唯一的蛋济,是無序的
dict函數(shù)可以將其他映射(比如其他字典)或者(鍵,值)這樣的序列(序列內(nèi)套二元組)對建立成字典,也可以直接通過關鍵字參數(shù)創(chuàng)建字典
字典的基本行為在很多方面與序列類似帮碰,但字典的成員資格查找的是鍵而不是值
字典的格式化字符串需要在每個轉(zhuǎn)換說明符中的%字符后面加上用括號括起來的鍵电谣,這類字符串格式化在模板系統(tǒng)中非常有用
常見方法
clear方法用來清空字典
copy方法返回一個具有相同鍵-值對的新字典,但實現(xiàn)的是淺復制恭理,在副本中替換值的時候拯辙,原始字典不受影響,但修改某個值時(原地修改颜价,而不是替換)涯保,則原始字典也會改變,因為此時修改的是同一個引用周伦。要實現(xiàn)深復制可以使用copy模塊的deepcopy函數(shù)
fromkeys方法使用給定的鍵建立新的字典夕春,每個鍵默認對應的值為None,可以傳入第二個參數(shù)作為默認值专挪。
get方法是一個更為寬松的訪問字典項的方法撇他,如果試圖訪問字典中不存在的項時茄猫,不會報錯,返回None
has_key方法可以檢查字典中是否含有給出的鍵困肩,相當于成員資格函數(shù)
items和iteritems划纽。items方法將所有的字典項以列表方式返回,相當于dict的逆方法锌畸,無順序勇劣。而iteritems方法返回一個迭代器對象而不是列表
keys和iterkeys方法將字典中的鍵以列表和迭代器返回
pop方法用來獲得對應于給定鍵的值,并移除這個鍵值對
popitem方法彈出字典中隨機的項
setdefault方法類似于get方法潭枣,能夠獲得與給定鍵相關聯(lián)的值比默,setdefault還能在字典中不含有給定鍵的情況下設定相應地鍵值,不設定則默認為None
update方法可以利用一個字典項更新另外一個字典盆犁,若有相同的鍵則會進行覆蓋
values和itervalues方法將字典的值以列表和迭代器對象