Python字典的作用与基本操作
一.字典的定義
字典(dict)是python中唯?的?個(gè)映射類型.他是以{ }括起來(lái)的鍵值對(duì)組成. 在dict中key是唯?的. 在保存的時(shí)候, 根據(jù)key來(lái)計(jì)算出?個(gè)內(nèi)存地址. 然后將key-value保存在這個(gè)地址中.這種算法被稱為hash算法, 所以, 在dict中存儲(chǔ)的key-value中的key必須是可hash的,可哈希就意味著不可變.
語(yǔ)法
{key1: value1, key2: value2....}注意:key必須是不可變的(可哈希的),value可以保存任意類型的數(shù)據(jù)
特點(diǎn)
-
無(wú)序:python3.6版本以上默認(rèn)了咱們定義的順序,python3.5以下是隨機(jī)顯示的.
-
可變的
-
可以存儲(chǔ)大量數(shù)據(jù),比列表還要大
-
能夠?qū)?shù)據(jù)進(jìn)行關(guān)聯(lián),比較消耗內(nèi)存
二.字典的相關(guān)操作
新增
dic = {"a":"b","b":"c"} dic["c"] = ["d"] # 給出key和value添加,如果key已存在則會(huì)替換value dic.setdefault("c","d") # 先去字典中查看key存不存在,如果key存在會(huì)返回key所對(duì)應(yīng)的value(可用于查找),如果key不存在就添加key和value刪除
注意:字典沒(méi)有remove
''' 學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:725638078 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' dic = {"a":"b","b":"c"} dic.pop("a") # 指定key彈出,有返回值,返回刪除的value dic.popitem() # 隨機(jī)彈出,有返回值,返回刪除的value del dic["a"] # 指定key刪除 del dic # 刪除整個(gè)字典 dic.clear() # 清空字典,得到空字典修改
dic[key] = "新的值" # 指定key修改,key不存在就新增 dic.update({1:2,'a':'a1'}) # 用字典更新字典,存在的替換,沒(méi)有的新增,原來(lái)有這次沒(méi)有的不變查詢
查詢只能通過(guò)key獲取value,不能通過(guò)value獲取key.
print(dic[key]) # 指定key查找value,key不存在會(huì)報(bào)錯(cuò) print(dic.get(key,"返回")) # 指定key查找value,key不存在會(huì)返回給出的返回值,默認(rèn)None其他相關(guān)操作
''' 學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:725638078 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科?"} dic.keys() # 得到key的高仿列表,但不是列表,不支持索引,支持迭代遍歷 dic.values() # 得到value的高仿列表 dic.items() # 得到由(key,value)成對(duì)組成的元組組成的列表 for el in dic: # 遍歷列表得到key for el in dic.keys(): for el in dic.values(): for el in dic.items(): => (key,value) for k,v in dic.items(): => 得到key和value for el in enumerate(dic,start): # 給你要迭代的對(duì)象加一個(gè)序號(hào)start默認(rèn)是0,枚舉字典的嵌套
dic = {101:{1:['周杰倫','林俊杰'],2:{'汪峰':['國(guó)際章','前妻一','前妻二']}}102:{1:['李小龍','吳京','李連杰'],2:{'謝霆鋒':['張柏芝','王菲']},3:['大象','奇奇']}103:{1:['郭美美','干爹'],2:{'王寶強(qiáng)':['馬蓉','宋哲']}} } print(dic["102"][3][0]) => "大象" # 逐層用key查找結(jié)尾給大家推薦一個(gè)非常好的學(xué)習(xí)教程,希望對(duì)你學(xué)習(xí)Python有幫助!
Python基礎(chǔ)入門教程推薦
Python爬蟲(chóng)案例教程推薦
總結(jié)
以上是生活随笔為你收集整理的Python字典的作用与基本操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python列表的用法和基本操作
- 下一篇: Python面向对象中反射和双下的正确用