字典是一種鍵:值的形式,我們前面分享的文章學(xué)習(xí)了列表[],元祖()俯在,字典是由{}引起來的,列表的鍵對(duì)應(yīng)的是列表的下標(biāo)朝巫,而字典的值對(duì)應(yīng)的是字典的鍵鸿摇,我們可以通過字典的鍵來獲取字典的值
元組和列表是有序的
字典由兩個(gè)特性:
第一:無序性
第二:不可重復(fù)石景,鍵必須唯一劈猿,后面的會(huì)覆蓋前面的
注:想學(xué)習(xí)Python的小伙伴們
可以
進(jìn)群:984137898
領(lǐng)取從0到1完整學(xué)習(xí)資料 視頻? 精品書籍 一個(gè)月經(jīng)典筆記和99道練習(xí)題及答案
常用增刪改查api的演示
文本代碼
arr={
'one':"huan",
'two':"feng",
'three':"de",
'five':"five",
}
print("全部數(shù)據(jù)",arr)
#獲取數(shù)據(jù)
print("取出數(shù)據(jù)鍵為one的",arr['one'])
#如果鍵沒有為one的就會(huì)出錯(cuò),可以通過get方法來獲取數(shù)據(jù)
print("取出數(shù)據(jù)鍵為one的get方式",arr.get('one'))
print("取出數(shù)據(jù)鍵為ononon的get方式數(shù)據(jù)不存在返回none",arr.get('ononon'))
#刪除數(shù)據(jù)
del arr['two']
print("刪除鍵為two的",arr)
arr.pop('three')
print("刪除鍵為three",arr)
#修改數(shù)據(jù)
arr['one']='oneone'
print("修改鍵為one的值為oneone",arr)
#增加數(shù)據(jù),弄一個(gè)沒有的鍵潮孽,直接復(fù)制
arr['six']="six"
print("增加一個(gè)six",arr)
#判斷一個(gè)字典中是否有數(shù)據(jù)
print("判斷一個(gè)字典中是否有鍵為one的",'one' in arr)
列表中值還可以是列表多層嵌套
其它的api
打印一個(gè)列表中所有的鍵
print(arr.keys())
打印一個(gè)列表中所有的值
print(arr.values())
列表中添加數(shù)據(jù)
我們可以直接使用列表名[鍵名]=值來添加數(shù)據(jù)揪荣,但是這種方式添加數(shù)據(jù)的問題在于,后面添加的如果和已經(jīng)存在的鍵相同那么就會(huì)產(chǎn)生覆蓋問題
還有一個(gè)添加方法列表名.setdefault(鍵往史,值)這種方式如果當(dāng)前列表中沒有原來的鍵仗颈,則添加成功,如果存在原來添加的鍵則不會(huì)添加椎例,這樣覆蓋問題就解決了
可以看出info.setdefault("1","3")失敗了挨决,因?yàn)殒I1原來就存在
兩個(gè)列表進(jìn)行合并update,當(dāng)有重復(fù)鍵的時(shí)候哪個(gè)字典調(diào)用的update方法订歪,哪個(gè)被覆蓋脖祈,其它的全部合并
結(jié)果就是info的全部留下,然后沒有重復(fù)的1:2刷晋,3:3也會(huì)留下
將一個(gè)字典轉(zhuǎn)成一個(gè)列表盖高,方法是items()
演示:
這樣字典中的每一組鍵值對(duì)都會(huì)變成列表中的一個(gè)元組
可以使用fromkeys() 函數(shù)用于創(chuàng)建一個(gè)初始化字典,方法為:
[1,2,3]為字典的鍵眼虱,而"huan"為每個(gè)字典的初始值
一個(gè)改變另外一個(gè)不會(huì)變喻奥,這是值為一級(jí)的時(shí)候,如果值為一級(jí)以上就會(huì)出現(xiàn)淺copy的情況捏悬,一個(gè)改變撞蚕,全部 都變。
可以看出{3}為二級(jí)过牙,所以一個(gè)改變诈豌,全部都改變了
字典的循環(huán)
i為鍵仆救,info[i]為值
第一個(gè)參數(shù)是鍵,第二個(gè)參數(shù)是值