字典
#字典是key-value形式的, string list dict
#字典是无序的,因为它没有下标,用key来当索引,所以是无序的
#字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重
#1、取数据方便 2、速度快
infos={
'name':'zhang',
'sex':'男',
'age':18
}
#查
# print(infos.get('name1'))#如果取不到key是None
# print(infos.get('name1',11))#如果取不到key,可以指定值
#print(infos['sex1'])#如果key不存在会报错
#增
infos['phone']=13611087045 #增加一个key
infos.setdefault('小金库','2000w')
infos.setdefault('name','2000w')#如果key存在的话,不会修改原来key的值
infos['name']='彭妹妹' #如果key存在的话,会修改原来的对应得value
homeworks = {
'二狗':
{'2018.3.22':"未交",'2018.3.23':'已交'},
'张三':
{'2018.2.02':"未交",
'2018.3.23':{'数学':'未交' }},
}
homeworks['二狗']['2009']='未交'#在原有字典修改 这种字典嵌套的,必须前面的key存在,它是一层一层找的,先找到“二狗”再找“2009”
homeworks['二蛋']={'2019.01.09':'未交'}#多层字典嵌套新加
homeworks['花花']={date:{math:tates}}
#print(infos)
#修改
infos['name']='彭妹妹' #如果key存在的话,会修改原来的对应得value
infos.update()#合并字典
#删除
# infos.pop('name')#指定key来删除
# infos.popitem()#随机删除一个key
# del infos['phone']#指定key来删除
# infos.clear()#清空字典
# print(infos)
#方法
# print(infos.values())#获取到字典所有的value
# print(infos.keys())#获取到字典所有的key
# print(infos.items())#获取到字典所有的k-v
people = {
'田雨':{
'age':18,
'money':200000,
'clothes':'100套',
'hzp':'n多',
'shoes':['nike','addis','lv','chanle']
},
'张流量':{
'金库':'2000w',
'house':['三环一套','4环2套'],
'cars': {
'japan':['普拉多','兰德酷路泽'],
'usa':['林肯','凯迪拉克','福特'],
'china':['五菱宏光','qq','红旗']
}
}
}
# people['田雨']['money']+=200
# people['田雨']['shoes'].append('匡威')
# people['张流量']['cars']['usa'].append('牧马人')
# print(people)
# print(people['张流量']['cars']['usa'])
# print(people['张流量']['cars']['china'][1])
# print(people['田雨']['shoes'][2])
# for p in people:#直接循环字典 那么循环的是key
# print(p)
for k,v in people.items():#循环的时候,同事取key和value
print(k,'====>',v)
用小括号()的时候是方法
[]只有字典取值的时候和list取值的时候会用