1. 程式人生 > >字典的創建、修改、刪除、遍歷

字典的創建、修改、刪除、遍歷

del 四種 字典 ffffff mar 線性 size 17. 垃圾

1.字典非線性結構。Kv(value)對。高效。
2.list按照索引走還可以,同樣是時間和空間的問題。
3.特點:可變、無序(可以認為set是其簡化版)、不重復key,去重的。
key是唯一的,因為k去重、無序、可變、可叠代。由鍵值對構成。可叠代的必須是成對的。
4.定義
技術分享圖片

技術分享圖片
kwargs可叠代對象。
技術分享圖片
5.
(1)【構建】
構建方法:使用一個字典構建另一個字典。
技術分享圖片

但是b變成這個了a也變了,方法:深拷貝。

標紅的比較常用。
技術分享圖片

預見列表類的value要註意會被都修改有的。特別是append時。
(2)【訪問】
Keyerror indexerror都是超界了
技術分享圖片
返回None在ipython 中不顯示,是否拿到。d會拋異常,kv 存在的話會采取覆蓋操作。

顯示缺省值。

(3)【修改】:
1.get (key鍵,default值)如果沒有就會添加進去,不寫的話就添加進去None;
2.setdefault(key,default),同樣是有就修改,沒有就添加進去;
3.d[key] = value,不存在就添加進去這個對,存在的話就修改value值;
Update([other])四種格式:就地更新/修改。不返回值。
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

加兩個值則後邊加一逗號,同樣格式即可。
技術分享圖片
找不著可以返回缺省值。返回-1那個是壓根就沒有。什麽都未返回的是裏邊是None。
(4)區別:而get(key,default)則只是會echo下default/value值。不會進行添加;
(5)【刪除】(1)pop(key[,default]) (2) popitem() (3)del

Pop(key[,default]) popitem()
技術分享圖片

是在刪除一個引用計數。引用為0,交給垃圾回收。
(6)遍歷list for
【1】遍歷鍵
遍歷鍵、值、鍵值對
鍵(用list遍歷或者for)
技術分享圖片
【2】遍歷值
改成value即可。
鍵值對
技術分享圖片
【3】遍歷值:通過k遍歷value--d[k],d.get(k)
方法一
技術分享圖片
方法二
技術分享圖片

方法三
技術分享圖片

【4】遍歷鍵值對:利用items
方法一打印鍵值對
技術分享圖片
方法二打印鍵
技術分享圖片
方法三打印值
技術分享圖片
方法四 打印鍵值對
技術分享圖片

每一個都是元組,i【0】為每一個元組的第一項,i【1】為每一個元組的第一項
因為是在循環中,具體來說應該是第i個元組(元素)的第0項,這樣依次打印即可。

字典的創建、修改、刪除、遍歷