python 字典的常见方法
1、獲取字典的值
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print students_info["zhangsan"] # {'age': 15, 'score': 80} print students_info["zhangsan"]["score"] # 80 print print students_info["xiaoming"]Traceback (most recent call last):File "xxx.py", line 87, in <module>print students_info["xiaoming"] KeyError: 'xiaoming'2、添加數(shù)據(jù)(鍵值對(duì))
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}students_info["xiaoming"] = {"age": 15, "score": 100} print students_info# {'lisi': {'age': 14, 'score': 90}, 'xiaoming': {'age': 15, 'score': 100}, 'zhangsan': {'age': 15, 'score': 80}, 'wangwu': {'age': 16, 'score': 70}}3、刪除數(shù)據(jù)(鍵值對(duì))
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}del students_info["zhangsan"] print students_info # {'lisi': {'age': 14, 'score': 90}, 'wangwu': {'age': 16, 'score': 70}}4、修改數(shù)據(jù)(鍵值對(duì))
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}students_info["lisi"] = {"age": 14, "score": 95} print students_info # {'lisi': {'age': 14, 'score': 95}, 'zhangsan': {'age': 15, 'score': 80}, 'wangwu': {'age': 16, 'score': 70}}5、判斷鍵值對(duì)是否存在
如果要判斷字典是否包含指定的 key,則可以使用 in 或 not in 運(yùn)算符。需要指出的是,對(duì)于 dict 而言,in 或 not in 運(yùn)算符都是基于 key 來(lái)判斷的
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print ("lisi" in students_info) # True print ("age" in students_info) # False print ("age" in students_info["zhangsan"]) # True print ("xioaming" in students_info) # Falseprint ("age" not in students_info) # True6、clear()方法
clear() 用于清空字典中所有的 key-value 對(duì),對(duì)一個(gè)字典執(zhí)行 clear() 方法之后,該字典就會(huì)變成一個(gè)空字典。
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}students_info.clear() print students_info #{}7、get()方法
get() 方法其實(shí)就是根據(jù) key 來(lái)獲取 value,它相當(dāng)于方括號(hào)語(yǔ)法的增強(qiáng)版,當(dāng)使用方括號(hào)語(yǔ)法訪(fǎng)問(wèn)并不存在的 key 時(shí),字典會(huì)引發(fā) KeyError 錯(cuò)誤;但如果使用 get() 方法訪(fǎng)問(wèn)不存在的 key,該方法會(huì)簡(jiǎn)單地返回 None,不會(huì)導(dǎo)致錯(cuò)誤
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print students_info.get("zhangsan") # {'age': 15, 'score': 80} print students_info.get("xiaoming") # None8、update()方法
update() 方法可使用一個(gè)字典所包含的 key-value 對(duì)來(lái)更新己有的字典。在執(zhí)行 update() 方法時(shí),如果被更新的字典中己包含對(duì)應(yīng)的 key-value 對(duì),那么原 value 會(huì)被覆蓋;如果被更新的字典中不包含對(duì)應(yīng)的 key-value 對(duì),則該 key-value 對(duì)被添加進(jìn)去。
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}students_info.update({"zhangsan":{"age": 15, "score": 100}}) print students_info # {'lisi': {'age': 14, 'score': 90}, 'zhangsan': {'age': 15, 'score': 100}, 'wangwu': {'age': 16, 'score': 70}} students_info.update({"xiaoming":{'age': 18, 'score': 85}}) print students_info # {'lisi': {'age': 14, 'score': 90}, 'xiaoming': {'age': 18, 'score': 85}, 'zhangsan': {'age': 15, 'score': 100}, 'wangwu': {'age': 16, 'score': 70}}9、items()方法
以列表返回可遍歷的(鍵, 值) 元組數(shù)組
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print students_info.items() # [('lisi', {'age': 14, 'score': 90}), ('zhangsan', {'age': 15, 'score': 80}), ('wangwu', {'age': 16, 'score': 70})]10、 keys()方法
以列表返回一個(gè)字典所有的鍵
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print students_info.keys() # ['lisi', 'zhangsan', 'wangwu'] print students_info["zhangsan"].keys() # ['age', 'score']11、values()方法
以列表返回字典中的所有值
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print students_info.values() # [{'age': 14, 'score': 90}, {'age': 15, 'score': 80}, {'age': 16, 'score': 70}] print students_info["wangwu"].values() # [16, 70]12、pop()方法
pop() 方法用于獲取指定 key 對(duì)應(yīng)的 value,并刪除這個(gè) key-value 對(duì)
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}students_info.pop("lisi") print students_info # {'zhangsan': {'age': 15, 'score': 80}, 'wangwu': {'age': 16, 'score': 70}}13、popitem()方法
popitem() 方法用于彈出字典中最后一個(gè)key-value對(duì)
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}students_info.popitem() print students_info # {'zhangsan': {'age': 15, 'score': 80}, 'wangwu': {'age': 16, 'score': 70}}14、setdefault()方法
setdefault() 方法也用于根據(jù) key 來(lái)獲取對(duì)應(yīng) value 的值。但該方法有一個(gè)額外的功能,即當(dāng)程序要獲取的 key 在字典中不存在時(shí),該方法會(huì)先為這個(gè)不存在的 key 設(shè)置一個(gè)默認(rèn)的 value,然后再返回該 key 對(duì)應(yīng)的值。
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}students_info.setdefault("zhangsan", {"age": 20, "score": 80}) print students_info # {'lisi': {'age': 14, 'score': 90}, 'zhangsan': {'age': 15, 'score': 80}, 'wangwu': {'age': 16, 'score': 70}} students_info.setdefault("xiaoming", {"age": 18, "score": 75}) print students_info # {'lisi': {'age': 14, 'score': 90}, 'xiaoming': {'age': 18, 'score': 75}, 'zhangsan': {'age': 15, 'score': 80}, 'wangwu': {'age': 16, 'score': 70}}15、fromkeys()方法
fromkeys() 方法使用給定的多個(gè)key創(chuàng)建字典,這些key對(duì)應(yīng)的value默認(rèn)都是None;也可以額外傳入一個(gè)參數(shù)作為默認(rèn)的value。該方法一般不會(huì)使用字典對(duì)象調(diào)用(沒(méi)什么意義),通常會(huì)使用 dict 類(lèi)直接調(diào)用
score_info = dict.fromkeys(["zhangsan", "lisi"]) print score_info # {'lisi': None, 'zhangsan': None} score_info = dict.fromkeys(("zhangsan", "lisi"), 80) print score_info # {'lisi': 80, 'zhangsan': 80}16、len()方法
計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print len(students_info) # 3 print len(students_info["zhangsan"]) # 217、str()方法
輸出字典可打印的字符串
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print str(students_info) # {'lisi': {'age': 14, 'score': 9 print str(students_info["lisi"]) # {'age': 14, 'score': 90}18、type()方法
返回輸入的變量類(lèi)型,如果變量是字典就返回字典類(lèi)型
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}print type(students_info) # <type 'dict'>19、遍歷key的值
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}for key in students_info: print key """ lisi zhangsan wangwu """ for key in students_info["wangwu"]: print key """ age score """19、遍歷value的值
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}for value in students_info.values(): print value """ {'age': 14, 'score': 90} {'age': 15, 'score': 80} {'age': 16, 'score': 70} """ for value in students_info["lisi"].values(): print value """ 14 90 """20、遍歷字典鍵值對(duì)
students_info = {"zhangsan": {"age": 15, "score": 80},"lisi": {"age": 14, "score": 90},"wangwu": {"age": 16, "score": 70}}# 返回字符串 for key in students_info: print key + ":" + str(students_info[key]) """ lisi:{'age': 14, 'score': 90} zhangsan:{'age': 15, 'score': 80} wangwu:{'age': 16, 'score': 70} """ # 返回元組 for i in students_info.items(): print i """ ('lisi', {'age': 14, 'score': 90}) ('zhangsan', {'age': 15, 'score': 80}) ('wangwu', {'age': 16, 'score': 70}) """ for key, value in students_info.items():print key + ":" + str(value)""" lisi:{'age': 14, 'score': 90} zhangsan:{'age': 15, 'score': 80} wangwu:{'age': 16, 'score': 70} """參考文檔:
https://www.itcast.cn/news/20211221/15221563284.shtml#mark-H3-103
總結(jié)
以上是生活随笔為你收集整理的python 字典的常见方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringBoot + Servlet
- 下一篇: python---字符串函数