博客信息

Python基础之引用类型(字典dict)

发布时间:『 2019-06-25 21:36』  博客类别:Python  阅读(494)

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='\t')
print()
# 直接获取value
for val in countries.values():
    print(val,end='\t')
print()
# 直接获取字典的key、value
for key,val in countries.items():
    print('%s=%s'%(key,val),end='\t')
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('请输入你要修改的学生的姓名:\n')
        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


over......


关键字:     Python基础  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有