【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 分钟前
Go语言企业级项目使用dlv调试
服务器·开发语言·golang
Python×CATIA工业智造18 分钟前
爬虫技术入门:基本原理、数据抓取与动态页面处理
爬虫·python·pycharm
jerry60924 分钟前
c++流对象
开发语言·c++·算法
fmdpenny24 分钟前
用python写一个相机选型的简易程序
开发语言·python·数码相机
敲敲敲-敲代码1 小时前
【PyCharm- Python- ArcGIS】:安装一个和 ArcGIS 不冲突的独立 Python让PyCharm 使用 (解决全过程记录)
python·arcgis·pycharm
海盗强1 小时前
Babel、core-js、Loader之间的关系和作用全解析
开发语言·前端·javascript
猿榜编程1 小时前
python基础-requests结合AI实现自动化数据抓取
开发语言·python·自动化
一键三联啊1 小时前
【FastJSON】的parse与parseObject
linux·前端·python
我最厉害。,。1 小时前
PHP 反序列化&原生类 TIPS&字符串逃逸&CVE 绕过漏洞&属性类型特征
android·开发语言·php
爱编程的鱼1 小时前
C# 类(Class)教程
开发语言·c#