【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'}))   # 字典


小结

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

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



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

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

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

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

好了划走吧。

相关推荐
黑客-雨7 分钟前
从零开始:如何用Python训练一个AI模型(超详细教程)非常详细收藏我这一篇就够了!
开发语言·人工智能·python·大模型·ai产品经理·大模型学习·大模型入门
Pandaconda12 分钟前
【Golang 面试题】每日 3 题(三十九)
开发语言·经验分享·笔记·后端·面试·golang·go
加油,旭杏16 分钟前
【go语言】变量和常量
服务器·开发语言·golang
行路见知16 分钟前
3.3 Go 返回值详解
开发语言·golang
xcLeigh19 分钟前
WPF实战案例 | C# WPF实现大学选课系统
开发语言·c#·wpf
孤独且没人爱的纸鹤21 分钟前
【机器学习】深入无监督学习分裂型层次聚类的原理、算法结构与数学基础全方位解读,深度揭示其如何在数据空间中构建层次化聚类结构
人工智能·python·深度学习·机器学习·支持向量机·ai·聚类
l1x1n024 分钟前
No.35 笔记 | Python学习之旅:基础语法与实践作业总结
笔记·python·学习
NoneCoder30 分钟前
JavaScript系列(38)-- WebRTC技术详解
开发语言·javascript·webrtc
关关钧41 分钟前
【R语言】数学运算
开发语言·r语言
十二同学啊43 分钟前
JSqlParser:Java SQL 解析利器
java·开发语言·sql