python基础第十一章:字典

字典

字典的定义:

方法一:

变量={键:值,键;值,键:值}

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={'老大': '孙鹏', '老二': '王建', '老三': '孙可'}
del dict1['老二']
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():复制字典

猜你喜欢

转载自www.cnblogs.com/szc-boke/p/11247406.html