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


小结

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

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



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

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

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

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

好了划走吧。

相关推荐
yufuu98几秒前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
沐知全栈开发2 分钟前
JavaScript 计时事件
开发语言
Yang-Never2 分钟前
Android 应用启动 -> Android 多种方式启动同一进程,Application.onCreate() 会多次执行吗?
android·java·开发语言·kotlin·android studio
qunaa01013 分钟前
YOLOv26家具物品检测实战:基于Python和OpenCV实现家具识别系统
python·opencv·yolo
期待のcode3 分钟前
Java 共享变量的内存可见性问题
java·开发语言
会游泳的石头4 分钟前
深入剖析 Java 长连接:SSE 与 WebSocket 的实战陷阱与优化策略
java·开发语言·websocket
yutian06064 分钟前
TI-C2000 系列 TMS320F2837X 控制律加速器(CLA)应用
开发语言·ti·ti c2000
夕阳之后的黑夜13 分钟前
Python脚本:为PDF批量添加水印
开发语言·python·pdf
2401_8414956415 分钟前
【LeetCode刷题】LRU缓存
数据结构·python·算法·leetcode·缓存·lru缓存·查找
女王大人万岁16 分钟前
Go标准库 path 详解
服务器·开发语言·后端·golang