数据容器:dict(字典、映射)学会啦!继续学习

数据容器:dict(字典、映射)

1.字典的应用

字典可以提供基于Key检索Value的场景实现

2.字典的定义

my_dict = {key:value, key:value,...key:value,}

# 定义字典
my_dict1 = {"欣欣": 100, "嘉嘉": 99, "周周": 88}
# 定义空字典
my_dict2 = {}   # 空集合set()
my_dict3 = dict()
print(f"字典1的内容是:{my_dict1}, 类型是:{type(my_dict1)}")
print(f"字典2的内容是:{my_dict2}, 类型是:{type(my_dict2)}")
print(f"字典3的内容是:{my_dict3}, 类型是:{type(my_dict3)}")

# 字典1的内容是:{'欣欣': 100, '嘉嘉': 99, '周周': 88}, 类型是:<class 'dict'>
# 字典2的内容是:{}, 类型是:<class 'dict'>
# 字典3的内容是:{}, 类型是:<class 'dict'>

# 定义重复Key的字典
my_dict1 = {"欣欣": 100, "欣欣": 99, "周周": 88}
print(f"重复Key的字典的内容是:{my_dict1}")

# 重复Key的字典的内容是:{'欣欣': 99, '周周': 88}

3.字典数据的获取

字典同集合一样,不可以使用下标索引,但是字典可以通过key值来取得对应的value。


my_dict1 = {"欣欣": 100, "嘉嘉": 99, "周周": 88}
score = my_dict1["欣欣"]
print(f"欣欣的考试成绩是:{score}")

# 欣欣的考试成绩是:100

4.字典的嵌套

字典的Key和Value可以是任意数据类型(Key不可为字典),那么表明,字典是可以嵌套的。

 需求案例:记录学生各科成绩的考试信息

# 定义嵌套字典
stu_score_dict = {
    "王力鸿": {
        "语文": 77,
        "数学": 66,
        "英语": 33
    }, "周杰轮": {
        "语文": 88,
        "数学": 86,
        "英语": 55
    }, "林俊节": {
        "语文": 99,
        "数学": 96,
        "英语": 66
    }
}
print(f"学生的考试信息是:{stu_score_dict}")

# 学生的考试信息是:{'王力鸿': {'语文': 77, '数学': 66, '英语': 33}, '周杰轮': {'语文': 88, '数学': 86, '英语': 55}, '林俊节': {'语文': 99, '数学': 96, '英语': 66}}



# 从嵌套字典里获取数据
# 看一下周杰轮的语文信息
score = stu_score_dict["周杰轮"]["语文"]
print(f"周杰轮的语文分数是:{score}")

# 周杰轮的语文分数是:88

 5.字典的注意事项

·键值对的Key和Value可以是任意类型(Key不可为字典)

·字典内Key不允许重复,重复添加等同于覆盖原有数据

·字典不可用下标索引,而是通过Key检索Value

6.字典的常用操作

·新增元素

语法:字典[Key] = Value

结果:字典被修改,新增了元素

# 新增元素
my_dict = {"欣欣": 100, "嘉嘉": 99, "周周": 88}
my_dict["文文"] = 66
print(f"字典经过新增元素后,结果:{my_dict}")

# 字典经过新增元素后,结果:{'欣欣': 100, '嘉嘉': 99, '周周': 88, '文文': 66}

·更新元素

语法:字典[Key] = Value

结果:字典被修改,元素被更新

注意:字典Key不可以重复,所以对已存在的Key执行上述操作,即更新Value值

# 更新元素
my_dict = {"欣欣": 100, "嘉嘉": 99, "周周": 88}
my_dict["欣欣"] = 77
print(f"字典经过更新后结果:{my_dict}")

# 字典经过更新后结果:{'欣欣': 77, '嘉嘉': 99, '周周': 88}

·删除元素

语法:字典.pop(Key)

结果:获得指定的Key的Value,同时字典被修改,指定Key的数据被删除

# 删除元素
my_dict = {"欣欣": 100, "嘉嘉": 99, "周周": 88}
score = my_dict.pop("欣欣")
print(f"字典中被移除了一个元素结果是:{my_dict}欣欣的考试分数是:{score}")

# 字典中被移除了一个元素结果是:{'嘉嘉': 99, '周周': 88}欣欣的考试分数是:100

·清空元素

语法:clear()

# 清空元素,clear
my_dict = {"欣欣": 100, "嘉嘉": 99, "周周": 88}
my_dict.clear()
print(f"字典被清空了内容是:{my_dict}")

# 字典被清空了内容是:{}

·获取全部的Key

语法:字典.Keys()

结果:得到字典中全部的Key

# 获取全部的Key
my_dict = {"欣欣": 100, "嘉嘉": 99, "周周": 88}
keys = my_dict.keys()
print(f"字典中全部Keys是:{keys}")

#字典中全部Keys是:dict_keys(['欣欣', '嘉嘉', '周周'])

·遍历字典

# 遍历字典
# 方式1:通过获取到全部的Key来完成遍历
for key in keys:
    print(f"字典的Key是:{key}")
    print(f"字典的Value是:{my_dict[key]}")

# 字典的Key是:欣欣
# 字典的Value是:100
# 字典的Key是:嘉嘉
# 字典的Value是:99
# 字典的Key是:周周
# 字典的Value是:88

#方式2:直接对字典进行for循环,每一次循环都是直接得到Key
for key in my_dict:
    print(f"字典的Key是:{key}")
    print(f"字典的Value是:{my_dict[key]}")

# 字典的Key是:欣欣
# 字典的Value是:100
# 字典的Key是:嘉嘉
# 字典的Value是:99
# 字典的Key是:周周
# 字典的Value是:88

·统计字典中的元素数量

语法:len()函数

# 统计字典中的元素数量
num = len(my_dict)
print(f"统计字典中的元素数量:{num}")

#统计字典中的元素数量:3

总结:

7.字典的特点

·可以容纳多个数据

·可以容纳不同类型的数据

·每一份数据都是Key Value键值对

·可以通过Key获取到Value,Key不可以重复(重复会覆盖)

·不支持下标索引

·可以修改(增加或删除元素等)

·支持for循环,不支持while循环 

完结 🎉 继续更新!加个关注收藏一下叭~

  • 23
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只学习python的兔子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值