python课后答案第十一章_python基礎第十一章:字典

这篇博客详细介绍了Python字典的定义和多种创建方式,包括直接定义、通过dict()函数、通过列表以及通过zip函数。此外,还涵盖了字典的增删改查操作、遍历方式、字典推导式、格式化输出以及常用和相关函数的用法,如fromkeys(), keys(), values(), items(), pop(), popitem(), setdefault(), update()和get()等。" 84869628,7567258,XPath语法详解,"['XML解析', 'XPath查询', '数据定位']
摘要由CSDN通过智能技术生成

字典

字典的定義:

方法一:

變量={鍵:值,鍵;值,鍵:值}

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():復制字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值