轉載:https://www.cnblogs.com/hukey/p/9621631.html
1.字典
dict 用{} 來表示,鍵值對數據 {key:value}以對出現
不可變得數據類型,可以當哈希的鍵值
1.字典的增加
dic[key] = value
dic['火女'] = '人頭狗'
dic.setdefaul=(key,value)
dic.setdefaul=('火女',人頭狗)
2.字典刪除
dicpop(key) 有返回值,返回的是被刪除的vlaue
dic.pop('易大師') 刪除鍵值
dic.del[key] 刪除鍵值
dic.del['劍豪'] 刪除鍵值
potitem() 隨機刪除
dic.clear 清空所有,只剩下{}字典括號
3,字典的更改
dic[key] = value 強行修改
dic['劍豪'] = '哈沙閣'
dic.update{字典}
3.字典的查詢
1.for i in dic:
print(i) #for獲取的是字典的鍵,而不是值
也可以這樣來獲取
2. for i in dic.keys():
print(i)
3.for i in dic.items():
get(key)
dic(k)
for循環
setdefault(key)
4.字典的其他操作
keys 獲取所有的鍵存在一個高仿的列表中
values 獲取所有的值存在一個高仿的列表中
items 獲取說有的鍵對值以元祖的形式放到高仿列表中
5.解構(解包)
a,b = [1,2]#把後面的解構打開按位置賦值
print(a)
print(b)
for item in dic.items():
print(item)
6.字典的嵌套
dic = {'name':'王峯',
'age':'43',
'wife':{
'name':'國際章',
'age':'39',
'salary':'1000'
},
'baby':[
{'name':'熊大','age':'18'},
{'name':'熊二','age':'16'}
]
}
print(dic['baby'][0]['age']) #打印baby這個key裏的列表的第個元素的字典的agekey的值
#如果要報age改爲19歲可以這樣子. dic['baby'][0]['age'] = 19
print(dic)
數據類型劃分:
可變數據類型:list、dict、set 不可哈希
不可變數據類型:tuple、bool、int、str 可哈希
字典的特點:
python內置了字典類型,使用鍵-值(key - value) 存儲,具有極快的查找速度;
key:必須是 不可變數據類型
value:任意數據類型
dict 優點:
二分查找效率快
存儲大量的關係型數據
特點:字典是無序的
字典的增刪改查
1.增加
(A) dic1['key'] = value 沒有鍵值對,則添加;如果鍵,則值覆蓋。
1 2 3 4 5 6 |
|
(B) set_default() 有鍵值對,不做任何改變,沒有才添加。
1 2 3 4 5 6 7 8 |
|
2. 刪除
(A) pop(key, None) 刪除鍵值對,並返回值。如果字典中沒有刪除的key,則返回 None
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
(B) popitem() 隨機刪除並返回刪除元組,元組裏面是刪除的鍵值對
1 2 3 4 5 6 7 8 9 |
|
(C) del 刪除鍵值對或者整個字典
1 2 3 |
|
3. 修改
(A) update 合併兩個字典
1 2 3 4 5 6 7 8 9 10 11 |
|
4. 查詢
(A) dic.keys 字典key的組合,可以當成list類型來處理
(B) dic.values 字典value的組合,可以當成list類型來處理
(C) dic.items 字典(key, value)的組合,可以當做元組來處理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
(D) dic.get() 存在則返回 value值,不存在就返回預設值
1 2 3 4 5 6 7 |
|