字典
{键:值,键:值}
没有位置关系,只有映射关系。
id(a) 变量a的内存地址
不可变类型:整型,字符串,元组
可变类型:列表,字典
键:不可变
值:可变
两大特点:无序,键唯一
如果存在重复键,最后一个替换之前的
创
dic={'name':'Kevin','age':39,'job':'teacher','marriage':True}
print(dic)
d=dict((range(2),(range(10,12))))
print(d)
dic1=dict((('sex','male'),))
print(dic1)
dic2=dict.fromkeys(['host1','host2','host3'],'baby')
print(dic2)
dic3=dict.fromkeys(['host1','host2','host3'],['baby','candy'])
print(dic3)
dic4=dict.fromkeys(dic,dic1)
print(dic4)
查
dic={'name':'Kevin','age':39,'job':'teacher','marriage':True}
print(dic)
#查找某一键的值
print(dic['name'])
#列出字典中所有键名
print(dic.keys())
#转换成列表
print(list(dic.keys()))
#列出字典中所有值
print(dic.values())
#转换成列表
print(list(dic.values()))
#列出字典中所有键值
print(dic.items())
#转换成列表,由元组构成
print(list(dic.items()))
增
dic={'name':'Kevin','age':39,'job':'teacher','marriage':True}
print(dic)
#字典增加单个元素,没有键值就增加,已有键值就修改
dic['name']='xy'
print(dic)
dic['sex']='male'
print(dic)
# .setdefault 如有已有键值,不做改变,否者增加键值,有返回值,返回字典值对应键的值
ret1=dic.setdefault('name','xia')
print(ret1)
print(dic)
ret2=dic.setdefault('class','2')
print(ret2)
print(dic)
改
#合并两个字典,不同键值合并,相同键,更新值
dic_a={'name':'kevin','age':'38'}
dic_b={'hobby':'music','sex':'male'}
dic_a.update(dic_b)
print(dic_a)
dic_c={'name':'kevin','age':'38','sex':'female'}
dic_d={'hobby':'music','sex':'male'}
print(dic_c)
dic_c.update(dic_d)
print(dic_c)
#字典嵌套
av_catalog = {
"欧美":{
"www.youporn.com": ["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
},
"大陆":{
"1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}
av_catalog["欧美"]["www.youporn.com"][1]="高清无码"
print(av_catalog)
删
dic={'name':'Kevin','age':39,'job':'teacher','marriage':True}
print(dic)
#通过键名删除键值
del dic['name']
print(dic)
ret=dic.pop('age')
print(ret)
print(dic)
# 随机删除某个键值,并以元组形式返回值
dic1={'name':'Kevin','age':39,'job':'teacher','marriage':True}
print(dic1)
ret1=dic1.popitem()
print(ret1)
print(dic1)
#清空整个字典
dic1.clear()
print(dic1)
#删除整个字典
del dic1
print(dic1)