python字典的相关操作
names = {'name':'老王','age':18,'addr':'山东'}
print("%s %d %s"%(names['name'],names['age'],names['addr']))
# 运行结果
老王 18 山东
#1、打印功能提示
print("="*50)
print(" 名片管理系统 8v.6")
print(" 1、添加一个新的名片")
print(" 2、删除一个名片")
print(" 3、修改一个名片")
print(" 4、查询一个名片")
print(" 5、显示所有的名片")
print(" 6、退出系统")
print("="*50)
card_infors = []
while True:
#2、获取用户的输入
reault =int(input("请输入你的选择:"))
#3、根据用户的输入,执行相应的功能
if reault == 1:
new_name = input("请输入新的名字:")
new_qq = input("请输入新的qq:")
new_weixin = input("请输入新的weixin:")
new_addr = input("请输入新的地址:")
new_infor = {}
new_infor['name'] = new_name
new_infor['qq'] = new_qq
new_infor['weixin'] = new_weixin
new_infor['addr'] = new_addr
card_infors.append(new_infor)
#print(card_infors) for test
print("="*50)
print()
elif reault == 2:
new_name = input("请输入你要删除人的姓名:")
lenght = len(card_infors)
i = 0
while i<lenght:
if card_infors[i]['name'] == new_name:
del card_infors[i]
break
i+=1
print(card_infors)
print("="*50)
print()
elif reault == 3:
index = 0
i = 0
name = input("请输入你要修改的名字:")
for dict_name in card_infors:
if dict_name['name'] == name:
index+=1
card_infors[i]['name'] = input("请输入一个新的名字:")
card_infors[i]['qq'] = input("请输入一个新的qq:")
card_infors[i]['weixin'] = input("请输入一个新的weixin:")
card_infors[i]['addr'] = input("请输入一个新的地址:")
print(card_infors)
break
i+=1
if index == 0:
print("没有找到。。。")
print("="*50)
print()
elif reault == 4:
index = 0
name = input("请输入你要查找的名字:")
for dict_name in card_infors:
if dict_name['name'] == name:
index+=1
print("名字\tQQ\t微信\t住址")
print("%s\t%s\t%s\t%s"%(dict_name['name'],dict_name['qq'],dict_name['weixin'],dict_name['addr']))
break
if index == 0:
print("没找到。。。")
print("="*50)
print()
elif reault == 5:
print("名字\tQQ\t微信\t住址")
for card in card_infors:
print("%s\t%s\t%s\t%s"%(card['name'],card['qq'],card['weixin'],card['addr']))
print("="*50)
print()
elif reault == 6:
break
else:
print("你输入的有误,请亲从新输入(1-5)谢谢亲的配合。。。")
# 运行结果
==================================================
名片管理系统 8v.6
1、添加一个新的名片
2、删除一个名片
3、修改一个名片
4、查询一个名片
5、显示所有的名片
6、退出系统
==================================================
请输入你的选择:1
请输入新的名字:李白
请输入新的qq:1333333333
请输入新的weixin:1222222222
请输入新的地址:老 老王街道
==================================================
请输入你的选择:5
名字 QQ 微信 住址
李白 1333333333 1222222222 老王街道
==================================================
names = {'name':'老丁','age':18,'addr':'山东'}
#增加一个元素
#写一个没有的键名
names['photo'] = '1330137079'
print(names)
# 运行结果
{'age': 18, 'addr': '山东', 'name': '老丁', 'photo': '1330137079'}
names = {'name':'老丁','age':18,'addr':'山东'}
#del删除一个元素
#要删除已有的键要不然就报错
del names['name']
print(names)
# 运行结果
{'age': 18, 'addr': '山东'}
names = {'name':'老丁','age':18,'addr':'山东'}
#修改一个元素的值 你要写已有的键
#要不然就是添加元素了
names['age']=19
print(names)
# 运行结果
{'name': '老丁', 'age': 19, 'addr': '山东'}
names = {'name':'老丁','age':18,'addr':'三栋'}
#查询字典元素
#有这个键就会反回它的值
a=names.get('name')
print(a)
# 运行结果
老丁
names = [{'name':'老丁','age':18,'addr':'山东'},{'name':'老李','age':19,'addr':'河北'}]
name = input("请输入你要查找的名字:")
for temp in names:
if temp['name'] == name:
print('找到了...')
break
else:
print("没有找到...")
# 运行结果
请输入你要查找的名字:张三
没有找到...
name = {'name':'老丁','age':18}
#测量字典中.键值对的个数
num = len(name)
print(num)
# 运行结果
2
name = {'name':'老丁','age':18}
#反回一个包含字典所有key的列表对象
num = name.keys()
print(num)
# 运行结果
dict_keys(['age', 'name'])
- 反回一个包含字典所有value的列表对象-values
name = {'name':'老丁','age':18}
#反回一个包含字典所有value的列表对象
num = name.values()
print(num)
# 运行结果
dict_values(['老丁', 18])
name = {'name':'老丁','age':18}
#反回一个包含所有(键,值)元组的列表对象
num = name.items()
print(num)
# 运行结果
dict_items([('name', '老丁'), ('age', 18)])
name = {'name':'老丁','age':18}
#for循环遍历字典
#把字典里的(键,值)当元组反回
for temp in name.items():
print(temp)
for temp in name.items():
print("key=%s value=%s"%(temp[0],temp[1]))
# 运行结果
('age', 18)
('name', '老丁')
key=age value=18
key=name value=老丁
a = ["name","age","addr"]
b = 3
t = {}
t = t.fromkeys(a,b) #b可写可不写 a必须是列表
print(t)
# 运行结果
{'age': 3, 'name': 3, 'addr': 3}
- 如果key在字典中,返回对应的值。如果不在字典中,则插入key及设置的默认值default,并返回default,default默认值为None-setdefault
dict = {'Name': 'Runoob', 'Age': 7}
#如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
print ("Age 键的值为 : %s" % dict.setdefault('Age', None))
print ("Sex 键的值为 : %s" % dict.setdefault('Sex', None))
print ("新字典为:", dict)
# 运行结果
Age 键的值为 : 7
Sex 键的值为 : None
新字典为: {'Name': 'Runoob', 'Age': 7, 'Sex': None}
- 把字典键值对删除反回一个键值对的元组-popitem
t = {"name":"laowang","age":18,"addr":"山东"}
r = t.popitem() #把字典键值对删除反回一个键值对的元组 t不能为空
print(t)
print(r)
# 运行结果
{'addr': '山东', 'age': 18}
('name', 'laowang')
a = {"name":"laownag","age":18}
b = {"addr":"山东"}
a.update(b) #把一个字典元素添加到另一个字典中 如果键值有重复,则 b 的内容更新替换到 a 中
print(a)
# 运行结果
{'addr': '山东', 'age': 18, 'name': 'laownag'}