Python基础之引用类型(字典dict)
dict的定义及增删查改
定义语法:
{key1:value1,key2:value2,…}
增加:
Dict1[key]=value
删除:
Dict1.pop(key)
Del dict1[key]
修改:
Dict1[key]=value
查询:
Keys()
Values()
Items()
定义:
# 初识字典dict
countries={CN:china,JP:Japan,CA:Canada,JP:124}
# <class dict>
print(type(countries))
# {CN: china, JP: 124, CA: Canada}
print(countries)
student={name:zs,age:18,id:1001,sex:男,score:99}
# 字典dict相比于列表更能够清晰的表明数据与数据之间的关系
# student1=[ls,20,男,88,1001]
print("%s的分数:%d"%(student[name],student[score]))
# 遍历
# 通过key进行变量
all_keys=countries.keys()
for key in all_keys:
print(%s=%s%(key,countries[key]),end= )
print()
# 直接获取value
for val in countries.values():
print(val,end= )
print()
# 直接获取字典的key、value
for key,val in countries.items():
print(%s=%s%(key,val),end= )
print()
增删改查:
# 增删改查
students={ww:88,"mazi":99}
# 删除
students.pop(ww)
print(students)
# KeyError:没有要删除的元素时就报错
# students.pop(www)
# print(students)
del students["mazi"]
print(students)
# NameError: name students is not defined
# del students
# print(students)
# 增减和修改
# 如果修改的key在字典中存在,那么新值覆盖旧值
# 如果不存在,就新添加一组对应关系
update_name=input("请输入要修改的学生姓名")
update_new_name=input("请输入新的名字")
update_new_score=input("请输入新的分数")
new_student_list=[update_new_name,update_new_score]
# students[update_name]=new_student_list
# print(students)
new_student_dict={name:update_new_name,score:update_new_score}
students[update_name]=new_student_dict
print(students)
学生管理系统(字典版)
之前用列表list做了一个v1.0版本的,现在改用字典dict来做,升级为v1.1版本
students={}
while True:
print("欢迎光临学生管理系统v1.1:")
print("1、添加学生")
print("2、查找学生")
print("3、展示所有")
print("4、删除学生")
print("5、修改学生")
print("6、退出系统")
choose=input("请选择1-6:")
if choose==1:
# 添加学生逻辑
name=input("学生姓名")
score=input("学生分数")
student={name:name,score:score}
students[name]=student
print("添加成功")
elif choose==2:
# 输入要查找的学生姓名
search_name=input("请输入你要查找的学生姓名")
all_keys=students.keys()
if search_name not in all_keys:
print("没有你要查找的学生")
else:
student_dict=students[search_name]
print("name:%s score:%d"%(student_dict[name],student_dict[score]))
elif choose==3:
print("所有学生信息如下",end=":")
# print(students)
for key,stu_dic in students.items():
print("key:%s"%key)
print("name:%s score:%s"%(stu_dic[name],stu_dic[score]))
elif choose==4:
del_name=input("请输入要删除的学生姓名")
all_keys = students.keys()
if del_name in all_keys:
del students[del_name]
print("删除成功")
else:
print("没有该学生或者已经删除")
elif choose==5:
# 修改逻辑
update_name=input(请输入你要修改的学生的姓名:
)
all_keys=students.keys()
if update_name not in all_keys:
print("没有该学生")
else:
new_name=input("请输入新名字")
new_score=int(input("请输入新分数"))
new_stu={name:new_name,score:new_score}
#将旧学生删除
del students[update_name]
students[new_name]=new_stu
print("修改成功")
elif choose==6:
print("退出系统,欢迎再次使用")
break
谢谢大家,多多指教!!!
