Python的字典類型


  Python的字典類型為dict,用{}來表示,字典存放鍵值對數據,每個鍵值對用:號分隔,每個鍵值對之間用,號分隔,其基本格式如下:

d = {key1 : value1, key2 : value2 }

  鍵一般是唯一的,如果重復最后一個鍵值對會替換前面的,值不需要唯一,值可以取任何數據類型,但鍵必須是不可變的可哈希的,如字符串,數字或元組。

一、字典的“增刪改查”

1.向字典中添加元素

 將添加元素的鍵放進方括號中,然后用賦值操作,將添加元素的值賦值給鍵,示例如下:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候"}
2 lol["李青"] = "盲僧"
3 print(lol)

{'亞索': '劍豪', '露露': '仙靈女巫', '提莫': '迅捷斥候', '李青': '盲僧'}

使用setdefault(key, value)方法,示例如下:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候"}
2 lol.setdefault("趙信", "德邦總管")
3 print(lol)

{'亞索': '劍豪', '露露': '仙靈女巫', '提莫': '迅捷斥候', '趙信': '德邦總管'}

2.刪除元素
使用pop(key)方法,示例如下:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候"}
2 lol.pop("亞索")
3 print(lol)

{'露露': '仙靈女巫', '提莫': '迅捷斥候'}

使用del,示例如下:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候"}
2 del lol["露露"]
3 print(lol)

{'亞索': '劍豪', '提莫': '迅捷斥候'}

popitem()方法可以刪除字典中隨機一個元素(Python3.6刪除字典最后一項):

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候"}
2 lol.popitem()
3 print(lol)

{'亞索': '劍豪', '露露': '仙靈女巫'}

3.更改字典中的元素
通過key直接賦值,可以強制修改:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候"}
2 lol["露露"] = "小蘿莉"
3 print(lol)

{'亞索': '劍豪', '露露': '小蘿莉', '提莫': '迅捷斥候'}

使用update()方法,將新元素和更改后的元素存放進字典:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候"}
2 loli = {"露露": "小蘿莉","阿狸": "九尾妖狐"}
3 lol.update(loli)
4 print(lol)

{'亞索': '劍豪', '露露': '小蘿莉', '提莫': '迅捷斥候', '阿狸': '九尾妖狐'}

4.查找
使用key進行查找:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
2 print(lol["提莫"])

迅捷斥候

使用get()方法進行查找,沒有返回None,可以指定返回內容:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
2 print(lol.get("安妮", "黑暗之女"))

黑暗之女

使用setdefault()方法,沒有返回None,可以指定返回內容:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
2 print(lol.setdefault("提莫", "小提莫"))

迅捷斥候

二、字典的操作
獲取所有key,示例如下:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
2 print(lol.keys())

dict_keys(['亞索', '露露', '提莫', '阿狸'])

獲取所有value,示例如下:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
2 print(lol.values())

dict_values(['劍豪', '仙靈女巫', '迅捷斥候', '九尾妖狐'])

獲取所有鍵值對,示例如下:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
2 print(lol.items())

dict_items([('亞索', '劍豪'), ('露露', '仙靈女巫'), ('提莫', '迅捷斥候'), ('阿狸', '九尾妖狐')])

clear()清空字典中的所有元素:

1 lol = {"亞索": "劍豪", "露露": "仙靈女巫", "提莫": "迅捷斥候", "阿狸": "九尾妖狐"}
2 lol.clear()
3 print(lol)

{}

 fromkeys()快速創建一個dict:

1 dic = dict.fromkeys(['Jay','JJ'], ['周傑倫', '林俊傑'])
2 print(dic)

{'Jay':['周傑倫', '林俊傑'], 'JJ':['周傑倫', '林俊傑']}

注意:如果用fromkeys創建出的字典,value是列表,會有淺拷貝問題,當一個列表增加元素,其他列表也會增加。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM