【python从入门到精通】-- 第七战:字典

🌈 个人主页:白子寰

🔥 分类专栏:重生之我在学Linux,C++打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~

💡 坚持创作博文(平均质量分82+),分享更多关于深度学习、C/C++,python领域的优质内容!(希望得到您的关注~)

目录

字典的概念

关于字典的操作

创建字典

查找key

新增/修改元素

删除元素

遍历字典元素

[取出所有key 和 value](#取出所有key 和 value)

合法的key类型

小结


字典的概念

字典是用来存键值对的

就像用学号找到对应的学生一样,通过"键"能快速找到"值"。



关于字典的操作

创建字典

python 复制代码
# 创建字典

# 空字典
a = {}
b = dict()
print(type(a))
print(type(b))

# 赋予初始值(代码规范性)
student = {
    'id' : 1,
    '_name' : 'zhangsan', # 后面的逗号可写可不写
}
print(student)

查找key

python 复制代码
# 查找字典
student = {
    'id' : 1,
    'sex' : 'male'
}

# 一:使用in查找,返回布尔值
print('id' in student)
print('score' in student)

# 二:使用[]查找,找到返回对应值,没有找到抛异常
print(student['id'])        # 1
print(student['score'])     # 抛异常

新增/修改元素

python 复制代码
# 新增/修改元素
student = {
    'id' : 1,
    'name' : 'zhangsan'
}

# ①:使用[]来增加,key不存在,就新增值键队
student['id'] = 2
print(student)

# ②:使用[]来增加,key存在,就新增值键队
student['score'] = 80
print(student)

删除元素

python 复制代码
# 删除元素
student = {
    'id' : 1,
    'sex' : 'male',
    'score' : 100
}

# 用pop方法根据key删除对应的键值对
print(student)
student.pop('score')
print(student)

遍历字典元素

python 复制代码
# 遍历字典元素
student = {
    'id' : 1,
    'sex' : 'male',
    'score' : 100
}
# 使用for循环来遍历
for key in student:
    print(key,student[key])

取出所有key 和 value

python 复制代码
student = {
    'id' : 1,
    'sex' : 'male',
    'score' : 100
}

# 取出key和value的所有方法

# 使用keys取出key,使用values取出value
print(student.keys())
print(student.values())

# 使用items取出所有的键值对
print(student.items())

合法的key类型

不是所有数据类型都能当字典的键,因为字典的键需要是可哈希的,也就是说要有办法算出一个唯一的哈希值。

可以用 hash 函数来检查一个对象是否可哈希,能算出哈希值的就可以当字典的键。

python 复制代码
# 字典本质上是哈希表
print(hash(0))         # 整型
print(hash(3.14))      # 浮点型
print(hash(True))      # 类型
print(hash('hello'))   # 字符串
print(hash(type))      # 类型
print(hash(()))        # 空元组

# 列表、字典无法计算哈希值
#print(hash([1,2,3,4]))               # 列表
#print(hash({'id':1,'name':'mei'}))   # 字典


小结

字典是基于键值对的映射结构,操作围绕进行

适用于需要映射关系的场景



**********************************************************分割线*****************************************************************************
完结!!!
感谢浏览和阅读。

等等等等一下,分享最近喜欢的一句话:

"欲买桂花同载酒,终不似,少年游**"。**

我是白子寰 ,如果你喜欢我的作品,不妨你留个点赞+关注让我知道你曾来过。
你的点赞和关注是我持续写作的动力!!!

好了划走吧。

相关推荐
t1987512813 小时前
广义预测控制(GPC)实现滞后系统控制 - MATLAB程序
开发语言·matlab
小龙在山东13 小时前
基于 plumbum 跨平台执行Shell脚本
python
报错小能手13 小时前
线程池学习(六)实现工作窃取线程池(WorkStealingThreadPool)
开发语言·学习
一条咸鱼_SaltyFish13 小时前
[Day10] contract-management初期开发避坑指南:合同模块 DDD 架构规划的教训与调整
开发语言·经验分享·微服务·架构·bug·开源软件·ai编程
额呃呃13 小时前
STL内存分配器
开发语言·c++
七点半77013 小时前
c++基本内容
开发语言·c++·算法
嵌入式进阶行者14 小时前
【算法】基于滑动窗口的区间问题求解算法与实例:华为OD机考双机位A卷 - 最长的顺子
开发语言·c++·算法
No0d1es14 小时前
2025年12月 GESP CCF编程能力等级认证Python三级真题
开发语言·php
lalala_lulu14 小时前
什么是事务,事务有什么特性?
java·开发语言·数据库
CCPC不拿奖不改名14 小时前
python基础:python语言中的函数与模块+面试习题
开发语言·python·面试·职场和发展·蓝桥杯