有關於dict(字典)的特性與操做方法

有關於dict(字典)的特性與操做方法

1.字典的特性

語法:函數

dic = {key1 : value1,key2 : value2,key3 : value3............}spa

注:字典中key的值不可改變,value的值能夠改變;因爲字典保存數據使用的是Hash存儲方式 故字典沒法使用切片方式.索引

2.字典的操做方法

1.增長

dic = {}get

1) dic ["name"] = "伍四六"it

#若是字典中沒有該key值,則在字典最後加入字典元素,若是存在該key值則會覆蓋該key值 所對應的value值for循環

2) dic.setdefault(key , default = None)class

#使用此方法時,若是字典中沒有過這個key則在字典末尾增長這個字典元素,若key已經存 在則此語句無效date

##該方法默認的value值爲None,可自行設定value值循環

2.刪除

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() #清除字典中全部的元素

3.修改

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)

4.查詢

dic = {"id": 123, "name": 'sylar', "age": 18,"姑姑" : None}

1) 直接用key去查詢

例: print(dic['name']) #獲得123

2) dic.get(key) #獲取key值的value,若是key不存在,則返回None

5.其餘相關操做

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)

6.解構

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

7.字典的嵌套

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])

相關文章
相關標籤/搜索