dict字典
###############################################################
#列表 可变 可重复 有序 []
#元组 不可变 可重复 有序 ()-----------只有一个数据要加上逗号
#字典 可变 可重复 无序 {key:value}
#集合 可变 不可重复 无序 {}
###############################################################
#创建key:value或者key=value
d = {}
d1 = dict()
print(d,type(d))
print(d1,type(d1))
print('\n')
#两种创建方式
print('第一种方法','\n')
a1 = {'姓名':'Apollo','年龄':18,'性别':'男'}
print(a1,'\n',type(a1),'\n')
print('第二种方法','\n')
a2 = dict(姓名='Apollo',年龄=18,性别='男')
print(a2,'\n',type(a2),'\n')
#key判断
aa1 = {'姓名':'Apollo','年龄':18,'性别':'男'}
print(aa1,'\n',type(aa1))
print('姓名' in aa1)
print('其它' in aa1)
print('姓名' not in aa1)
print('其它' not in aa1)
#删除(删除不存在的会抛出异常)
a3 = {'姓名':'Apollo','年龄':18,'性别':'男'}
print(a3,'\n',type(a3))
a3.pop('年龄')
print('删除年龄:',a3)
del a3['姓名'] #删除元素
print('删除Apollo',a3)
del a3 #删除字典
print('删除a3字典','打印a3会报错')
ddaa = {'姓名':'Apollo','年龄':18,'性别':'男'}
if 'SSSS' in ddaa: #删除不存在的要做判断
del ddaa['SSSS']
print(ddaa)
else:
print('不存在',ddaa)
#清空字典
a4 = {'姓名':'Apollo','年龄':18,'性别':'男'}
a4.clear()
print('清空字典',a4)
#新增
a5 = {'姓名':'Apollo','年龄':18,'性别':'男'}
a5['状态']='一般'#新增默认最后一个
print(a5)
a5['姓名']='不知道'#如果存在相当于修改
print(a5)
#修改
a6 = {'姓名':'Apollo','年龄':18,'性别':'男'}
a6['状态']='良好'#修改元素value
print(a6)
#作为键的列表
name = ('小米','华为','苹果','三星')
jiage = dict.fromkeys(name)
print(jiage)
#作为键的元组
name1 = ('小米','华为','苹果','三星')
jiage1 = ['4220','6999','3688','4555']
aaaa = {name1:jiage1}
print(aaaa,type(aaaa))
#键值访问
ddd = {'a':'c','1':'3','我':'你'}
print(ddd,type(ddd))
print(ddd['a'])
print('存在' if 'c' in ddd else '不存在')
print(ddd.get('我'))
#遍历
eee = {'姓名':'Apollo','年龄':18,'性别':'男'}
print(eee)
for aaa in eee.items():#同时获取
print(aaa)
for key,value in eee.items():
print('key是',key,'value是',value,'\n')
#字典推导式
import random
rrr = {i:random.randint(10,100) for i in range(1,5)}
print('生成的字典是:',rrr)
nameaa = ['冷罗','啊陈','小李','大臣']
namebb = ['44','22','66','22']
aabb = {i:j+'岁' for i,j in zip(nameaa,namebb)}
print(aabb)