字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
dict = {'a': 1, 'b': 2, 'b': '3'};
print(dict['b'])
print(dict)
执行结果:
3
{'a': 1, 'b': '3'}
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
stus={'白':"吃",'黄':"喝"}
stus['黑']='玩'
stus['黑']='乐' #覆盖
print(stus)
dict={'a':1,'b':[1,2,3]}
print(dict)
执行结果:
{'白': '吃', '黄': '喝', '黑': '乐'}
{'a': 1, 'b': [1, 2, 3]}
-stus={'白':"吃",'黄':"喝"}
pop=stus.pop('白1','无此key')
print(pop)
print(stus.get('白','不存在'))
print(stus.get('白1','不存在')) #.get 不存在,返回default
print(stus['白'])
print(stus['白1']) #不存在 抛异常
通讯录
phones={'110':'警察','120':'医院','119':'火警'}
while True:
print("=======通讯录管理系统=========")
print("1.增加姓名和手机")
print("2.删除姓名")
print("3.修改手机")
print("4.查询所有用户")
print("5.根据姓名查找手机号")
print("6.退出")
print("============================")
s=int(input('请选择'))
if s==4:
for i in phones.items():
print(i)
elif s==1:
name=input('请输入姓名')
phone=input('请输入手机')
if phone in phones.keys():
print('已存在')
else:
phones[phone]=name;
print(phones)
elif s==2:
name=input('请输入删除的姓名')
for j in phones.items():
if j[1] in name:
phones.pop(j[0])
print('删除成功')
break
else:
print('不存在')
elif s==3:
name=input('请输入要修改的姓名')
for item in phones.items():
if name in item[1]:
phones.pop(item[0])
phone=input('请输入修改后的手机')
phones[phone]=item[1]
print(phones)
break
else:
print('不存在')
elif s==5:
name=input('请输入姓名')
for i in phones.items():
if name in i[1]:
print(i)
else:
print('谢谢使用')
字典的内嵌
citys={
'北京':{
'海淀':{
'1':['10','20'],
'2':['11','21']
},
'朝阳':{
'3':['12','22'],
'4':['13','23']
},
},
'河北': {
'石家庄': {
'5': ['10', '20'],
'6': ['11', '21']
},
'廊坊': {
'7': ['12', '22'],
'8': ['13', '24']
}
}
}
for i in citys.items():
print(i)
for j in i[1].items():
print(j)
for h in j[1].items():
print(h)
print(h[1])
执行结果:
('北京', {'海淀': {'1': ['10', '20'], '2': ['11', '21']}, '朝阳': {'3': ['12', '22'], '4': ['13', '23']}})
('海淀', {'1': ['10', '20'], '2': ['11', '21']})
('1', ['10', '20'])
['10', '20']
('2', ['11', '21'])
['11', '21']
('朝阳', {'3': ['12', '22'], '4': ['13', '23']})
('3', ['12', '22'])
['12', '22']
('4', ['13', '23'])
['13', '23']
('河北', {'石家庄': {'5': ['10', '20'], '6': ['11', '21']}, '廊坊': {'7': ['12', '22'], '8': ['13', '24']}})
('石家庄', {'5': ['10', '20'], '6': ['11', '21']})
('5', ['10', '20'])
['10', '20']
('6', ['11', '21'])
['11', '21']
('廊坊', {'7': ['12', '22'], '8': ['13', '24']})
('7', ['12', '22'])
['12', '22']
('8', ['13', '24'])
['13', '24']