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

谢谢大家,多多指教!!!

经验分享 程序员 微信小程序 职场和发展