python語言中的數據類型之字典
阿新 • • 發佈:2018-11-23
style 數據類型 container for key存在 -i 需要 cti www.
字典類型dict
-
-
定義方式:在{ }用逗號分隔開多個元素,每個元素都是key:value形式,其中key是不可變類型,通常是字符串類型,而value是任意類型。
-
類型轉換:
d=dict(x=1,y=2,z=3) print(d) print(type(d)) #第一種類型轉換 items=[(‘name‘,‘egon‘),(‘age‘,18),(‘gender‘,‘male‘)] d={} for item in items: d[item[0]]=item[1] print
常用操作+內置方法
1.按key存取值:可存可取
dic={‘name‘:‘egon‘,‘age‘:18} print(dic[‘name‘]) #這是按key 取 value值 如果key錯誤程序會報錯 dic[‘name‘]=‘EGON‘ print(dic) #按key存值 根據key存入‘EGON‘ (value) dic[‘gender‘]=‘male‘ print(dic) #如果存入的key在字典中沒有就會添加新的key:value ? ###在列表中如果索引沒有添加的話會報錯 l=[‘a‘,‘b‘,‘c‘] l[0]=‘A‘ print(l) l[4]=‘AAA‘ print(l)
2.長度 len
dic={‘name‘:‘egon‘,‘age‘:18} print(dic) print(len(dic))
3.成員運算 in 和 not in
字典的成員運算是以字典的key為準的,如果找不到key則會顯示False
dic={‘name‘:‘egon‘,‘age‘:18} print(‘name‘in dic) # True print(‘egon‘in dic) # False
4.刪除 del/pop/
dic={‘name‘:‘egon‘,‘age‘:18} del dic[‘name‘] print(dic) #del 的運用 ? dic={‘name‘:‘egon‘,‘age‘:18} res=dic.pop(‘name‘) print(dic) print(res) #pop pop的返回值是與之對應的value值 ? ic={‘name‘:‘egon‘,‘age‘:18} res=dic.popitem() print(res) print(type(res)) print(dic) (‘age‘, 18) <class ‘tuple‘> {‘name‘: ‘egon‘} #popitem() 刪除字典中的元組
5.鍵keys( ),值values(),鍵值對items()
在python2中對應的鍵keys(),values(),items()
#在python2中keys(),values(),items()會將全部對應值輸出 >>> dic={‘name‘:‘egon‘,‘age‘:18} >>> dic.keys() [‘age‘, ‘name‘] >>> dic.values() [18, ‘egon‘] >>> dic.items() [(‘age‘, 18), (‘name‘, ‘egon‘)] >>> ? #在python3中 >>> dic={‘name‘:‘egon‘,‘age‘:18} >>> dic.keys() dict_keys([‘name‘, ‘age‘]) >>> dic.values() dict_values([‘egon‘, 18]) >>> dic.items() dict_items([(‘name‘, ‘egon‘), (‘age‘, 18)])
6.循環
dic={‘name‘:‘egon‘,‘age‘:18} for k in dic: print(k) #在字典中不加任何操作循環是循環key dic={‘name‘:‘egon‘,‘age‘:18} for k in dic.keys(): #循環keys print(k) for v in dic.values(): #循環values print(v) for k,v in dic.items(): #k,v=(‘name‘, ‘egon‘) print(k,v) #循環key:value
需要掌握的操作
7.update 更新
dic={‘name‘:‘egon‘,‘age‘:18} dic.update({‘height‘:175,‘weight‘:180}) print(dic) {‘name‘: ‘egon‘, ‘age‘: 18, ‘height‘: 175, ‘weight‘: 180} #語法 字典1.update(字典2) #會將兩個字典中相同的key:value保留,不同的添加到字典1 dic={‘name‘:‘egon‘,‘age‘:18}
8.setdefault
Python 字典 setdefault() 函數和get() 方法類似, 如果鍵不存在於字典中,將會添加鍵並將值設為默認值
#當key存在時,不改原值,返回原值 dic={‘name‘:‘egon‘,‘age‘:18} res=dic.setdefault(‘name‘,‘EGON‘) print(dic) print(res) {‘name‘: ‘egon‘, ‘age‘: 18} egon ? #當key不存在時,增加新值 dic={‘name‘:‘egon‘,‘age‘:18} res=dic.setdefault(‘gender‘,‘male‘) print(dic) print(res) {‘name‘: ‘egon‘, ‘age‘: 18, ‘gender‘: ‘male‘} male
python語言中的數據類型之字典