字典
字典的定義:
方法一:
變量={鍵:值,鍵;值,鍵:值}
dict1={"老大":"孫鵬","老二":"王建",'老三':"孫可"}
print(dict1)
方法二:(注意必須是形參)
變量=dict(形參=值,形參=值,形參=值)
dict1=dict(da="孫鵬",er="王建",san="孫可")
print(dict1)
方法三:(注意:必須是二級列表,二級元組)
變量=dict(容器類型)
dict1=dict([['老大','孫鵬'],('老二','王建')])
print(dict1)
方法四:(在爬蟲中會用到)
變量=dict(zip(鍵的容器,值的容器))
list1=['老大','老二','老三']
list2=['孫鵬','王建','孫可']
res=dict(zip(list1,list2))
print(res)
字典的基本操作:(增刪改查)
增加
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}dict1['老四']='靳雪'print(dict1)
修改
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
dict1['老二']='靳雪'print(dict1)
刪除
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
deldict1['老二']
print(dict1)
查看
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1['老大']
print(res)
字典的遍歷
基本格式:
for 變量 in 字典:(注意:默認遍歷鍵)
只遍歷鍵 keys()
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
for i in dict1.keys():
print(i)
只遍歷值 values()
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
for i in dict1.values():
print(i)
既遍歷鍵又遍歷值 items() 返回的類型是tuple
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
for i in dict1.items():
print(i,type(i))
字典推導式
基本推導式
變量={變量1:變量2 for變量1,變量2 in 字典.items()}
dict1 = {'星期一':'1','星期二':'2','星期三':'3','星期四':'4'}
res={k:v for k,v in dict1.items()}
print(res)
帶有判斷條件的推導式
變量 = {變量1:變量2 for 變量1,變量2 in 字典.items() 條件表達式}
dict1 = {'星期一':'1','星期二':'2','星期三':'3','星期四':'4'}
res={k:v for k,v in dict1.items() if v=='4'}
print(res)
多循環推導式
變量={變量1:變量2 for 變量1 in 字典.items() for 變量2 in 字典.items() }
dict1 = {'星期一':'1','星期二':'2','星期三':'3','星期四':'4'}
dict2={'星期一':"晴",'星期二':'多雲','星期三':'陰','星期四':'雨'}
res={k:v for k in dict1.keys() for v in dict2.values()}
print(res)
帶條件的多循環推導式
dict1 = {'星期一':'1','星期二':'2','星期三':'3','星期四':'4'}
dict2={'星期一':"晴",'星期二':'多雲','星期三':'陰','星期四':'雨'}
res={k:v for k in dict1.keys() for v in dict2.values() if k=='星期二'}
print(res)
字典的格式化
方法一:%
格式:“字符串%(字典的鍵)s字符串”%字典
str1='今天星期一,天氣%(星期一)s'%{'星期一':"晴",'星期二':'多雲','星期三':'陰','星期四':'雨'}
print(str1)
方法二:format
格式:"字符串{字典的索引[字典的鍵]}字符串".format(字典)
str1='今天星期一,天氣{0[星期一]}'.format({'星期一':"晴",'星期二':'多雲','星期三':'陰','星期四':'雨'})
print(str1)
字典無法使用索引
字典的常用函數:
min() max() len() dict()
in not in
字典的相關函數:
fromkeys():使用指定的鍵容器制作一個字典 (鍵可以有多個,值只能有一個)
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.fromkeys(['老四','老五'],'孫')
print(res)
keys():獲取字典的鍵組成新的容器 (是個迭代器 用list轉換)
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.keys()
print(res) #dict_keys(['老大', '老二', '老三'])
res2=list(dict1.keys())
print(res2) #['老大', '老二', '老三']
values():獲取字典的值組成新的容器(是個迭代器 用list轉換)
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.values()
print(res)
res2=list(dict1.values())
print(res2)
items():獲取字典中的鍵和值組成嵌套容器(是個迭代器,用list)
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.items()
print(res)
res2=list(dict1.items())
print(res2)
pop(鍵,默認值):根據鍵刪除指定的值 (鍵不存在就返回默認值)
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.pop('老四',1)
print(res)
popitem():刪除字典顯示的最后一個數據
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.popitem()
print(dict1)
setdefault(鍵,值):向字典中添加數據 (鍵存在,則不進行任何操作,鍵不存在,就進行添加)
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.setdefault('老四','靳雪')
print(dict1)
update():修改字典的值
update({形參=‘值’,形參=‘值’})
update({鍵:值,鍵:值})
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.update({'老四':'靳雪'})
print(dict1)
get(鍵,默認值):獲取字典的值 (鍵存在,就返回對應的值,鍵不存在,就返回默認值)
dict1={'老大': '孫鵬', '老二': '王建', '老三': '孫可'}
res=dict1.get('老四',1)
print(res)
clear():清空字典
copy():復制字典