python教程:dict字典常用方法总结,数据解构(解包)
生活随笔
收集整理的這篇文章主要介紹了
python教程:dict字典常用方法总结,数据解构(解包)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
dict
{'name':'holle'}字典存儲大量關(guān)聯(lián)型數(shù)據(jù),可迭代的,最多只有200個鍵。查詢數(shù)據(jù)速度非常快,符合二分查找(有100個數(shù)比如找75會先找到50然后判斷,所以2^7次方7次即可找到)字典的key是唯一不可變的。
3.6以前的版本字典是無序的。之后也是無序但顯示有序
- key:不可變的數(shù)據(jù)類型(可哈希) 比如:str bool tuple int 類型
- value:可以是任一數(shù)據(jù)類型;
增:
#dic['hight'] = 100 通過key強制改,有hight項就會更改,沒有就會增加 #dic.setdefault('name','hello') 有則不變,無則增加,setdefault(key) 可通過key查,沒有返回None #formkeys (太坑別用)dict.fromkeys('abc', 'hello'),返回一個新的字典,原字典不變。dit1 = dict3.fromkeys('abc', 'hello') dit2 = dict3.fromkeys(['a', 'b', 'c'], 'hello') print(dit1) 輸出:{'a': 'hello', 'b': 'hello', 'c': 'hello'} print(dit2) 輸出:{'a': 'hello', 'b': 'hello', 'c': 'hello'}坑,如果追加其中一個其余value都會改變,因為在內(nèi)存中這幾個是共用一個列表,一變則全都改變。
dit4 = dict3.fromkeys('abc', []) print(dit4) 輸出:{'a': [], 'b': [], 'c': []} dit4['a'].append('hello') print(dit4) 輸出:{'a': ['hello'], 'b': ['hello'], 'c': ['hello']}刪:
#dic.pop('name') 按key值刪除,返回被刪除的value。 如果找不到對應(yīng)的key會報錯如果不想報錯,添加返回值參數(shù),dic.pop('name','無name時的返回值')。 #dic.clear() 清空字典,只清空字典所有內(nèi)容 #del dic 在內(nèi)存中徹底刪除字典 #del dic('age') 也可以按key刪除,找不到報錯 #dic.popitem() 隨機刪除,返回一個元組 (key, value)改:
#dic['hight'] = 100 有hight項就會更改,沒有就會增加 #update dict2.update(dict1) 將dict1的內(nèi)容覆蓋更新到dict2中,dict1中的內(nèi)容不變 dict1 = {'name': 'jin', 'age': 18, 'sex': 'male'} dict2 = {'name': 'alex', 'weight': 75} dict2.update(dict1) print(dict2) 輸出:{'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}查:
#dic['name'] 直接按key值查 找不到報錯 #get() dic.get('name')如果有這個鍵返回對應(yīng)的value值,沒有這個鍵會返回None -------用這個dic.get('name','沒有此key')也可以設(shè)置返回值 #dic.setdefault(key) 有返回value 沒有返回None #for 循環(huán)查找 單循環(huán)只輸出 key的值 dic = {'qwe': 233, 'aaa': 999} for i in dic: #輸出key 的值print(i) 輸出:qwe aaa for k, v in dic.items(): #輸出key 和 valueprint(k, v) 輸出: qwe 233 aaa 999字典的特有的其他操作
for i in dic.keys():print(i) #獲取到字典中的每一個鍵 for i in dic:print(i) #獲取到字典中的每一個鍵for i in dic.values():print(i) #獲取到字典中的每一個值for i in dic.items():print(i) #獲取到字典中的所有鍵值對#keys() 返回列表所有的鍵值key在一個容器中(高仿列表),可以使用for循環(huán)遍歷,或者list()類型轉(zhuǎn)換變?yōu)橐粋€列表。dict2 = {'name': 'alex', 'weight': 75}print(dict2.keys()) 輸出:dict_keys(['name', 'weight']) for i in dict2.keys():print(i) 輸出:name weight 類型為字典中的原類型或者:
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書! ''' dict2 = {'name': 'alex', 'weight': 75} print(list(dict2.keys())) 輸出: ['name', 'weight']#value() 返回所有的value值。dict2 = {'name': 'alex', 'weight': 75} for i in dict2.values():print(i) 輸出:alex 75#items 返回將鍵值對放在一個個小元組中,dict2 = {'name': 'alex', 'weight': 75} print(dict2.items()) 輸出: dict_items([('name', 'alex'), ('weight', 75)]) print(list(dict2.items())) 輸出 [('name', 'alex'), ('weight', 75)] 或 for i in dict2.items(): 輸出:('name', 'alex') ('weight', 75)#len print(dict.len()) 返回鍵值對的對數(shù)解構(gòu)(解包)
# a,b = '12' #將后邊解構(gòu)打開按位置賦值給變量 支持 字符串 列表 元組a, b = 1, 2 a, b = '12' a, b = ['1', 2] a, b = (1, '2') print(a, b) 以上所有輸出 都是 a==1 b==2字典的嵌套
找出字典中的18改為19
dic = {'name':'汪峰','age':43,'wife':{'name':'國際章','age':39,'salary':100000},'baby':[{'name':'熊大','age':18},{'name':'熊二','age':15},] } dic['baby'][0]['age'] = 19 ----------嵌套的解法與 print(dic)數(shù)據(jù)類型分類:
- 不可變的數(shù)據(jù)類型(可哈希):str,bool,tuple,int
- 可變的數(shù)據(jù)類型:dict,list,set
- 容器類數(shù)據(jù)類型:list,tuple,dict,set
總結(jié)
以上是生活随笔為你收集整理的python教程:dict字典常用方法总结,数据解构(解包)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python约束 与MD5加密写法
- 下一篇: Python基础教程:list列表、tu