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


小结

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

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



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

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

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

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

好了划走吧。

相关推荐
abments8 分钟前
基于ReAction范式的问答系统实现demo
开发语言·python
修电脑的猫25 分钟前
带有输入的CDS和程序调用
开发语言·lua
圈圈编码28 分钟前
悲观锁和乐观锁
java·开发语言·sql·mysql
多多*30 分钟前
基于rpc框架Dubbo实现的微服务转发实战
java·开发语言·前端·redis·职场和发展·蓝桥杯·safari
IT小码哥丶42 分钟前
华为仓颉语言初识:并发编程之同步机制(上)
java·开发语言
belong_to_you1 小时前
python模块——tqdm
python
一抓掉一大把1 小时前
MiniExcel模板填充Excel导出
开发语言·javascript·ecmascript
小红帽2.01 小时前
开源PHP在线客服系统源码搭建教程
开发语言·开源·php
L_cl1 小时前
【Python 算法零基础 4.排序 ⑪ 十大排序算法总结】
python·算法·排序算法
Vertira1 小时前
Pytorch安装后 如何快速查看经典的网络模型.py文件(例如Alexnet,VGG)(已解决)
人工智能·pytorch·python