1.字典數(shù)據(jù)類型
共同點:和列表一樣,字典也是很多值的集合。
不同的:1)列表的下標(biāo)只能是整數(shù)
? ? ? ? ? ? ? ? ? ? ? 字典的索引可以用很多數(shù)據(jù)類型
? ? ? ? ? ? ? ? 2)列表使用[]
? ? ? ? ? ? ? ? ? ? ? 字典使用{}
字典的索引被稱為鍵,鍵及其關(guān)聯(lián)的值稱為“鍵——值”對
1)字典中“鍵——值”對的輸入是沒有順序的
? ? ? 列表中表項的順序一致才能說兩個列表相等
? ? ? 字典中只要表項都包含,兩個字典就相等
? ? ? 字典也可以使用in和not in關(guān)鍵詞
2)keys()、values()、items()方法
? ? ? keys()----------返回字典的鍵
? ? ? values()--------返回字典鍵對應(yīng)的值
? ? ? items()---------返回鍵——值對
? ? ? 這些方法返回的值類似列表,但不是真正的列表,不能被修改,不能使用列表的方法。
? ? ? 但這些數(shù)據(jù)類型(分別是dict_keys、dict_values 和dict_items)可以用于for循環(huán)
3)檢查字典中是否存在鍵或值
? ? ?通過in和not in關(guān)鍵詞
? ? ? 也可以是‘color’ in s
? ? ?這種情況是對的,in默認(rèn)檢查值是否是字典的鍵
4)get()方法
? ? ? 檢查鍵是否存在于字典中
? ? ? 有兩個參數(shù):要取得其值的鍵,以及若該鍵不存在,取回的備用值
如,picnicitems字典中含有“cups”這個鍵,返回它所對應(yīng)的值;沒有eggs,就返回備用值0.
5)setdefault()方法
? ? ?為字典中某個鍵設(shè)置一個默認(rèn)值,當(dāng)該鍵沒有任何值時使用。
? ? ?傳遞給該方法的第一個參數(shù)值,是要檢查的鍵。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?第二個參數(shù)值,是如果該鍵不存在時要設(shè)置的值。
? ? ?如果該鍵存在,方法就會返回它所對應(yīng)的值;否則,就將該鍵加入字典,并設(shè)置默認(rèn)值。
2.pprint模塊
提供了打印出任何Python數(shù)據(jù)結(jié)構(gòu)類和方法。
1)pprint.pprint(object,stream=None,indent=1, width=80, depth=None)
輸出格式的對象字符串到指定的stream,最后以換行符結(jié)束。
如果字典本身包含嵌套的列表或字典,pprint.pprint()函數(shù)就特別有用。
2)pprint.pformat(object,indent=1,width=80, depth=None)
返回格式化的對象字符串