摘要:劉先生工程師已婚小三兒查無此人返回值輸出返回值查無此人用于清空字典。劉先生工程師已婚輸出劉先生工程師已婚劉先生工程師已婚還可以用循環遍歷這三個方法來分別獲得鍵值。
字典的表現形式為:{key:value},鍵和值之間用冒號分隔,每個鍵值對兒之間用逗號分隔,比如{‘name’:’超人’,’age’:500},要注意key的類型必須是不可變的類型,python對key進行哈希函數運算,根據計算結果決定value的存儲地址,所以字典是無序存儲的。字典的增刪改查如下:
增可以通過直接賦值的方式對字典進行修改,當指定的鍵不存在時則會在末尾增加一對兒鍵值
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} dic["age"] = 20 dic["lover"] = "小昭" print(dic) 輸出: {"name": "劉先生", "age": 20, "job": "工程師", "marr": "已婚", "lover": "小昭"}
還可以使用setdefaultv(key,value)方法來增加鍵值對兒
如果key存在則不錯任何改動,如果key不存在,則會在末尾添加新的鍵值,并且如果不給定value的話默認為None
一句話概括就是“有就不管他,沒有就增加”,這在循環中可以利用這一點
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} dic.setdefault("name","超人") dic.setdefault("lover","小姐姐") print(dic) 輸出: {"name": "劉先生", "age": "39", "job": "工程師", "marr": "已婚", "lover": "小姐姐"}刪: pop() clear del
pop 刪除指定的key對應的value,并且返回刪除的value,如果key不存在則會報錯。
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} res = dic.pop("name") print(dic,"返回值:",res) 輸出: {"age": "39", "job": "工程師", "marr": "已婚"} 返回值: 劉先生
在使用pop()時還可以增加一個參數來指定返回值,如果給定的key不存在則會返回給定的返回值.這種方式非常好用,可以防止key不存在時報錯,如果存在則刪除,不存在則返回指定的字符串。
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} res = dic.pop("小三兒","查無此人") print("返回值:",res) 輸出: 返回值: 查無此人
clear 用于清空字典。
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} dic.clear() print(dic) 輸出: {}
del 用于刪除指定的鍵值,如果只給出字典名字時則會刪除整個字典對象
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} del dic["name"] #del dic print(dic) 輸出: {"age": "39", "job": "工程師", "marr": "已婚"}改: 見“增” 查:
可以直接指定鍵來訪問字典,有則返回對應的值,沒有則報錯:
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} a = dic["name"] print(a) 輸出: 劉先生
可以通過字典的三個方法keys(),values(),items()分別查詢所有的鍵、值、鍵值對兒。
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} a = dic.keys() b = dic.values() c = dic.items() print("keys():",a) print("values():",b) print("items():",c) 輸出: keys(): dict_keys(["name", "age", "job", "marr"]) values(): dict_values(["劉先生", "39", "工程師", "已婚"]) items(): dict_items([("name", "劉先生"), ("age", "39"), ("job", "工程師"), ("marr", "已婚")])
還可以用for循環遍歷這三個方法來分別獲得鍵值。
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} for k in dic.keys(): print(k) 輸出: name age job marr
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} for v in dic.values(): print(v) 輸出: 劉先生 39 工程師 已婚
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} for k,v in dic.items(): print(k,v) 輸出: name 劉先生 age 39 job 工程師 marr 已婚字典的其他方法
len(dict)
計算字典元素個數。
str(dict)
把字典專戶為字符串,如:
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} a = str(dic) import re res = re.search(r"name",a) print(res) 輸出: <_sre.SRE_Match object; span=(2, 6), match="name"> 因為把dic轉化為字符串并賦值給a,所以可以對a進行正則匹配 而如果直接對dic進行正則匹配則報錯,因為dic不是字符串類型。
copy()
返回一個字典的淺復制
dict.fromkeys(seq,"value")
以序列seq中的元素作為字典的鍵,value為初始值 創建字典,如果不給參數value的話則每個鍵對應的值為Non,注意:這是一個“類方法”,所以使用時前面要加dict.
seq = ["a",1,"b"] a = dict.fromkeys(seq,"value") print(a) 輸出: {"a": "value", 1: "value", "b": "value"}
get(key, default=None)
返回指定鍵的值,如果鍵不存在則返回default值。
popitem()
刪除并返回字典的一個鍵值對,如果字典為空則會報錯。
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} res1 = dic.popitem() res2 = dic.popitem() res3 = dic.popitem() print(res1,res2,res3,dic) 輸出: ("marr", "已婚") ("job", "工程師") ("age", "39") {"name": "劉先生"}
update([other])
用鍵值對兒更新字典,如果鍵已經存在則會替換對應的值,參數為另外一個字典或者可迭代的鍵值對兒,比如:
dic = {"name":"劉先生","age":"39","job":"工程師","marr":"已婚"} it = ((i,i**2) for i in range(1,4)) dic.update(it) print(dic) 輸出: {"name": "劉先生", "age": "39", "job": "工程師", "marr": "已婚", 1: 1, 2: 4, 3: 9} 也可以用下面的方式指定鍵對應的值,比如 dic.update(name = "李小姐",age = 22)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42561.html
摘要:這種數據結構包含以下幾種常見的操作向關聯數組添加鍵值對從關聯數組內刪除鍵值對修改關聯數組內的鍵值對根據已知的鍵尋找值字典問題是設計一種能夠具備關聯數組特性的數據結構。 定義 Python中有一個叫作dictionary的對象類型,翻譯過來就是字典,用dict表示。 創建字典 創建空的字典 >>> mydict = {} >>> mydict {} >>> type(mydict) >...
摘要:準備字典文件為了更加準確的將失蹤地址中的省市縣三級單位提取出來,最好能夠直接以省市縣區的名稱為字典,這樣通過分詞以上的詞都能準確的切分出來。在網上搜索發現,根據最新的國家統計區位碼之作的現成的字典文件,并沒有。 在失蹤兒童信息保存在本地之后,有一個字段是失蹤地點,字段內容通常比較詳細,具體到了失蹤的街道或者村,我打算通過某種方法將失蹤地點中的省、市、縣/區三級地址提取出來。 確定分詞技...
摘要:布爾值布爾值和布爾代數的表示完全一致,一個布爾值只有兩種值的數據類型可以通過內置的函數查詢,例如還可以用來判斷和的區別在于不會認為子類是一種父類類型。會認為子類是一種父類類型。基本功能是進行成員關系測試和刪除重復元素。 ...
摘要:默認為或者說,是以格式保存對象如果設置為或者,則以壓縮的二進制格式保存對象。但是,要小心坑試圖增加一個坑就在這里當試圖修改一個已有鍵的值時沒有報錯,但是并沒有修改成功。要填平這個坑,需要這樣做多一個參數沒有坑了還用循環一下 pickle pickle是標準庫中的一個模塊,在Python 2中還有一個cpickle,兩者的區別就是后者更快。所以,下面操作中,不管是用import pick...
摘要:一項目說明項目簡介本次實驗通過使用實現一個弱口令掃描器開始,入門滲透測試技術,實驗涉及協議原理,庫的使用等知識點。找到密碼并不會終止程序,而是會繼續掃描其他主機的弱口令,直到所有的主機都掃描一遍。 showImg(https://segmentfault.com/img/bVz0PF); 一、項目說明 1.1 項目簡介 本次實驗通過使用 Python 實現一個 FTP 弱口令掃描器開始...
閱讀 489·2021-09-03 00:22
閱讀 1365·2021-08-03 14:03
閱讀 2082·2021-07-25 21:37
閱讀 645·2019-08-30 13:18
閱讀 1875·2019-08-29 16:19
閱讀 2682·2019-08-29 13:22
閱讀 1293·2019-08-29 12:16
閱讀 2586·2019-08-26 12:16