Python--字典及基本操作

字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。

比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关系。如果单纯使用两个列表来保存这组数据,则无法记录两组数据之间的关联关系。

为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。形象地看,字典中 key 和 value 的关联关系如图 1 所示:

 由于字典中的 key 是非常关键的数据,而且程序需要通过 key 来访问 value,因此字典中的 key 不允许重复。

程序既可使用花括号语法来创建字典,也可使用 dict() 函数来创建字典。实际上,dict 是一种类型,它就是 Python 中的字典类型。

在使用花括号语法创建字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英文冒号隔开;多个 key-value 对之间用英文逗号隔开。

二、字典的常用操作

编号操作说明
1字典[key]=value添加或更新键值对
2字典.pop(key)取出key对应的Value并在字典内删除此Key的键值对
3字典.clear()清空字典
4字典.keys()获取字典的全部key,可用于for循环遍历字典
5len(字典)计算字典内的元素数量
6字典[key]获取指定key对应的value值

一、代码演示 

1、新增元素

my_dict={"周杰伦":99,"林俊杰":88,"张学友":77}
# 新增元素
my_dict["张信哲"]=66
print(f"新增之后的元素为:{my_dict}")

2、更新元素

my_dict["周杰伦"]=85
print(f"字典经过更新后,元素为:{my_dict}")

3、删除元素

my_dict.pop("张信哲")
print(f"字典中被删除了一个元素,结果:{my_dict}")

4、清空元素

my_dict.clear()
print(f"元素被清空后的结果为:{my_dict}")

5、获取全部的key

my_dict={"周杰伦":99,"林俊杰":88,"张学友":77}
keys=my_dict.keys()
print(f"字典的全部key是:{keys}")

6、遍历字典

my_dict={"周杰伦":99,"林俊杰":88,"张学友":77}
for i in my_dict:
    print(f"字典的key是:{i}")
    print(f"字典的value是:{my_dict[i]}")

7、统计字典内的元素数量 

# 统计字典内的元素数量
stu_score_dict={
    "王力宏":{"语文":77,"数学":66,"英语":33},"周杰伦":{"语文":99,"数学":96,"英语":95},"林俊杰":{"语文":88,"数学":86,"英语":85}
}
count=len(stu_score_dict)
print(f"字典内的元素数量为:{count}")

三、字典的随堂小练习

有如下员工信息,请使用字典完成数据的记录
并通过for循环,对所有级别为1级的员工,级别上升一级,薪水增加1000元
姓名       部门      工资        级别
王力宏     科技部     3000        1
周杰伦     市场部     5000        2
林俊杰     市场部     7000        3
张学友     科技部     4000        1
刘德华     市场部     6000        2
"""
有如下员工信息,请使用字典完成数据的记录
并通过for循环,对所有级别为1级的员工,级别上升一级,薪水增加1000元
姓名       部门      工资        级别
王力宏     科技部     3000        1
周杰伦     市场部     5000        2
林俊杰     市场部     7000        3
张学友     科技部     4000        1
刘德华     市场部     6000        2
"""
dict_info={
    "王力宏":{"部门":"科技部","工资":3000,"级别":1},
    "周杰伦":{"部门":"市场部","工资":5000,"级别":2},
    "林俊杰":{"部门":"市场部","工资":7000,"级别":3},
    "张学友":{"部门":"科技部","工资":4000,"级别":1},
    "刘德华":{"部门":"市场部","工资":6000,"级别":2}
}
print(f"全体员工当前信息如下")
print(dict_info)
print(f"全体员工级别为1的员工完成升职加薪操作,操作后:")

# for循环遍历字典
for name in dict_info:
    # if条件判断符合条件员工
    if dict_info[name]["级别"]==1:
        # 修改员工的信息
        dict_info[name]["级别"]+=1
        dict_info[name]["工资"]+=1000

print(dict_info)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值