函數
dic = {key1 : value1,key2 : value2,key3 : value3............}spa
注:字典中key的值不可改變,value的值能夠改變;因爲字典保存數據使用的是Hash存儲方式 故字典沒法使用切片方式.索引
dic = {}get
1) dic ["name"] = "伍四六"it
#若是字典中沒有該key值,則在字典最後加入字典元素,若是存在該key值則會覆蓋該key值 所對應的value值for循環
2) dic.setdefault(key , default = None)class
#使用此方法時,若是字典中沒有過這個key則在字典末尾增長這個字典元素,若key已經存 在則此語句無效date
##該方法默認的value值爲None,可自行設定value值循環
dic = {"id": 123, "name": 'sylar', "age": 18,"姑姑" : None}語法
1) dic.pop(key) #刪除指定key值與其指定的value值,並返回value值
注:字典中的pop()與列表中的pop()不一樣,字典中pop()若是不指定key值會報錯,而列表中 pop()不指定索引值是默認刪除列表最後一個元素
2) del dic[key] #刪除指定key值的字典元素
3) dic.popitem() #隨機刪除一個字典元素,並返回該字典元素
4) dic.clear() #清除字典中全部的元素
dic = {"id": 123, "name": 'sylar', "age": 18,"姑姑" : None}
1) 可直接對字典元素的value進行修改
例: dic["姑姑"] = 154
2) dic.update(另外一個字典)
#把另外一個字典中的內容更新到dic字典中,若key值重複則覆蓋其value;若不重複,則新增 字典元素
例:dic = {"id": 123, "name": 'sylar', "age": 18,"姑姑" : None}
dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"}
dic.update(dic1)
dic = {"id": 123, "name": 'sylar', "age": 18,"姑姑" : None}
1) 直接用key去查詢
例: print(dic['name']) #獲得123
2) dic.get(key) #獲取key值的value,若是key不存在,則返回None
dic = {"id": 123, "name": 'sylar', "age": 18,"姑姑" : None}
1) dic.keys()
#輸出一個可經過list()轉化爲列表的代碼段,代碼段中記錄了字典中全部的key值;可經過 for循環直接輸出
例: for key in dic.keys()
print(key)
2) dic.values()
#輸出一個可經過list()轉化爲列表的代碼段,代碼段中記錄了字典中全部的value值;可通 過for循環直接輸出
例: for value in dic.values()
print(value)
3) dic.item()
#輸出一個可經過list()轉化爲列表的代碼段,代碼段中記錄了字典中全部的字典元素,全部 的字典元素裝在tuple(元組)中構成列表的每個元素;可經過for循環直接輸出
例:print(dic.items()) # dict_items([('id', 123), ('name', 'sylar'), ('age',18),("姑姑",None)] 這個東西也是list. 只不過list中裝的是tuple
for key, value in dic.items(): # 這個是解構
print(key, value)
1) a,b = 1,2 或 (a,b) = (1,2)這類就屬於解構
注:解構時要注意數量必須匹配,不然報錯
2) 參數解構
#給函數提供實參的時候,能夠在集合類型前使用 * 或者 ** ,把集合類型的結構解開,並提 出全部元素爲函數提供實參
##非字典類型使用 * 來解構成位置參數
##字典類型使用 ** 來解構成關鍵字參數
@@@這裏注意提取出來的元素數目要與參數的數目一致,否則會報錯
例:
def add(x, y): add(4, 5) #正常調用 add((4,5)) #錯誤調用被當作一個參數 add( * (4,5)) #參數解構 add( * range(1,3)) #與上相似 add( ** {'a' : 5, 'b' : 6}) #解構value add( * {'a' : 5, 'b' : 6}) #解構key
dic1 = { "name": "汪峯", "age": 18, "wife": { "name": '章子怡', "age": 28 }, "children": ['第一個毛孩子', '第二個毛孩子'], "desc": '峯哥不會告我吧. 不要緊. 我想上頭條的' }
print(dic1["wife"] ["name"])
print(dic1.get("wife").get("name"))
print(dic1.get("children"))
print(dic1.get("children") [1])