Python数据容器总结---字典部分

字典的存储特点

存储特点:
1. 元素是以键值对的形式存储的,键和值一一对应
 2. 字典中不允许出现重复的键(按键去重)
 3. 字典中是无序的(元素添加的顺序和存储的顺序不一致)

字典的定义

通过字面量的形式,将键值对写入到一对大括号中
 键与值之间用: 相连,键值对之间,以逗号分隔

dict1 = {"chinese": 98, "math": 89, "english": 99}
print(type(dict1), dict1)

# 通过dict函数,定义一个字典
# 将键和值,以参数的形式写入到dict的小括号内
dict2 = dict(chinese=98, math=89, english=99)
print(type(dict2), dict2)

通过dict函数也可以将一个容器转成字典

但是需要模拟键值对

# 所以,我们就需要使用其他的结构,例如list,来模拟键值对
# 使用二维列表
dict3 = dict([["chinese", 98], ["math", 89], ["english", 99]])
print(type(dict3), dict3)
#或者利用enumerate函数
dict4 = dict(enumerate('hello'))  # ( (0, 'h'), (1, 'e'), (2, 'l'))
print(type(dict4), dict4)

字典的运算符

运算符

描述

示例

in

判断字典中是否包含指定的键

scores = {'语文': 89, '数学': 90, '英语': 88, '物理': 79}

not in

判断字典中是否不包含指定的键

scores = {'语文': 89, '数学': 90, '英语': 88, '物理': 79}

==

判断两个字典是否相同

sc1 = {'语文': 90} 

==

判断两个字典是否相同

sc1 = {'语文': 90}

 字典的操作

 

 

 

# 定义一个字典
dict1 = {"chinese": 98, "math": 99, "english": 90}


# 1. 添加一个元素
# []: 字典,可以通过键,访问值。
#     可以将键写入到中括号内,获取到值,或者是修改值
#     如果这个键不存在,此时会添加对应的键值对
#     如果这个键存在,此时就是一个修改操作
dict1['python'] = 90        # 此时,字典中不包含python键,因此这里是一个新增操作
dict1['python'] = 89        # 此时,字典中已经包含了python键,因此这里是一个修改操作

print(dict1)

# 2. 添加键值对
#    如果这个键不存在,此时会是一个添加操作
#    如果这个键存在,此时不做任何处理
dict1.setdefault('MySQL', 100)
dict1.setdefault('MySQL', 98)
print(dict1)

# 3. 新增,合并其他的字典
#    在合并的时候,如果出现了重复的键,会执行更新操作
dict1.update({'政治': 100, '历史': 90, '生物': 99, 'python': 101})
print(dict1)
#    扩展点,这里也可以使用二维列表或者二维元组,实现键值对的模拟
dict1.update((("地理", 89), ("体育", 89)))
print(dict1)


# 4. 删除
#    需要保证这个键是存在的,如果不存在,就会报错
#    这个del是没有返回值的
del dict1['体育']
print(dict1)

# 5. 删除
#    需要保证这个键是存在的,如果不存在,就会报错
#    这个函数是有返回值的,返回值就是被删除的键值对的值
print(dict1.pop('生物'))
print(dict1)

# 6. 删除
# dict1.clear()

# 7. 通过键,获取值
# []: 如果有这个键,就会返回对应的值;如果没有这个键,报错
print(dict1['math'])

# 8. 通过键,获取值
#    逻辑:通过指定的键,获取对应的值;如果这个键不存在,就会返回一个默认的值
#    __key: 键
#    default: 默认的值,默认是None
print(dict1.get('linux', 0))

# 9. 获取字典中的所有的键
print(dict1.keys())

# 10. 获取字典中的所有的值
print(dict1.values())

# 11. 返回由 (键, 值) 组成的二元组
#     类似于 enumerate
print(dict1.items())

# 12. copy()

# 13. 快速构建一个字典
#     需要设置一个字典中的所有的键
#     这些键,会使用 __value 作为值,这个 __value 默认的值是 None
dict2 = dict.fromkeys(["语文", "数学", "英语", "体育"])
print(dict2)

dict3 = dict.fromkeys(["语文", "数学", "英语", "体育"], 0)
print(dict3)

字典的遍历

scores = {'语文': 99, '数学': 78, '英语': 78, '物理': 98, '化学': 88, '生物': 80, '历史': 89, '地理': 90, '政治': 90, '体育': 89, '自然': 88, '音乐': 78}


# 直接遍历,遍历到的是字典中的所有的键
# for key in scores:
#     print(f"{key} : {scores.get(key)}")


# 遍历keys容器
# for key in scores.keys():
#     print(f"{key} : {scores.get(key)}")


# 使用items遍历
# for item in scores.items():
#     print(item, item[0], item[1])


#
for k, v in scores.items():
    print(f"{k} : {v}")

字典推导式

# 字典推导式
# 与列表推导式类似,是为了生成一个字典而存在的推导式
# 在一个现有的字典的基础上,对其中的键、值进行过滤、映射,形成一个新的字典
dict1 = {"榴莲": 40, "臭豆腐": 8, "螺蛳粉": 15, "黑蒜": 30, "腐乳": 10, "鲱鱼罐头": 60}

# 需求: 获取到dict1中所有的便宜的商品(20块钱以下的)
dict2 = {key: value for key, value in dict1.items() if value < 20}
print(dict2)

# 需求: 获取到dict1中所有的便宜的商品(20块钱以下的),并且把value替换成 xxx元
dict3 = {key: str(value) + "元" for key, value in dict1.items() if value < 20}
print(dict3)

beichyes
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【李刚-21天通关Python-08】之 字典
kingdom_C的博客
07-26 548
【李刚-21天通关Python-08】之 字典
[Python3]编写程序实现:输入一个字典内容,包含若干学生的课程成绩,统计每门课程的平均分,并按从高到低的顺序输出课程及其平均分(保留1位小数)。输入样例:输入一个字典内容,例如:{‘徐丽‘:
qq_51980838的博客
11-24 1865
编写程序实现:输入一个字典内容,包含若干学生的课程成绩,统计每门课程的平均分,并按从高到低的顺序输出课程及其平均分(保留1位小数)。 输入样例: 输入一个字典内容,例如: {'徐丽': {'语文': 88, '数学': 90, '英语': 98, '科学': 95},'张兴': {'语文': 85, '数学': 92, '英语': 95, '科学': 98},'刘宁': {'语文': 89, '数学': 89, '英语': 90, '科学': 92},'张旭': {'语文': 82, '数学': 86,
Python数据类型--字典
zhurigeng的博客
07-11 2003
字典是在实际中比较常用的数据类型,这里做一个简单的了解
Python学习----数据容器
m0_48639280的博客
11-13 990
列表存在上限, 2^63 -1同一个列表可以容纳不同类型的元素列表内的数据时有序存储的允许重复元素可以修改元素数据容器有:list 列表 : 这个就和java数组类似,但是呢,类型不严格truple 元组:这个就是不能只读的java数组,还是类型不严格字符串:感觉这个没啥好说的集合:对应java中的set集合,不能重复字典:这个就是对应java的map集合len(容器) :统计容器元素的个数max(容器) : 找出容器中的最大值。
python--数据容器--列表
贵有恒何必三更眠五更起 最无益只怕一日曝十日寒
09-17 1357
字面量[元素1,元素2,元素3,元素4,...]#定义变量变量名称 = [元素1,元素2,元素3,元素4,...]#定义空列表变量名称 = []变量名称 = list()列表内的每一个数据称之为元素以 [ ]作为标识列表内每一个元素之间用,逗号隔开。
五、python数据容器--附代码案例
CSDN_crossover的博客
09-29 2157
五、数据容器(站在前辈们的肩膀上注入自己的理解,强势总结,适合入门,也适合复习)
python -【五】数据容器
qq_38800175的博客
05-29 1580
本文主要是针对 python 内置提供的数据容器( list,set,tuple, dict, str)的基础用法讲解并提供了相应的案例,且针对不同容器的切片进行举例,最后对各个容器之间相互转换举例说明
Python 内置数据类型 05----字典
一分耕耘一分收获
03-20 2215
1. 字典 dict 简介 1.1 使用 { } 直接创建字典 1.2 使用 dict() 函数创建字典 2. 字典也没有切片功能! 3. 处理字典的常见内置函数 3.1 len 函数 3.2 map 函数 3.3 filter 函数 3.4 reduce 函数 3.5 sum 函数 3.6 max 函数 3.7 min 函数 3.8 sorted 函数 3.9 enumerate 函数 3.10 any 函数 3.11 all 函数 4. 字典的...
python-7-容器类型-数据结构
weixin_57475485的博客
01-20 1195
一、数据结构 1、程序设计的基本结构:比如在用户密码验证时,如果一个程序需要能验证100、1000、10000甚至于更多用户时,我们会需要一个储存东西的容器。这些存储大量数据容器,在python中称之为内置数据结构(Built-in Data Structure) 2、4种内置数据结构(容器类型) 列表: list =>[val1,val2,val3,val4] 元组: tuple =>(val1,val2,val3,val4) 字典: dict =>
python定义一个字典类型_Python 数据类型--字典类型
weixin_32480007的博客
01-29 3494
字典 dict字典Python的另一种有序的可变数据结构,且可存储任意类型对象。字典是一种键值对的数据容器,每个键值(key:value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号“{}”中。键和值两者一一对应,与表不同的是,词典的元素没有顺序,不能通过下标引用元素。字典是通过键来引用。字典中的键必须是唯一的同时不可变的,值则没有限制。创建 dict>>&g...
从零开始学习 Python 3 - Python 数据容器大揭秘 3:字典 - 数据存储的万能工具
05-26
还在为复杂数据的存储和查找而烦恼吗? Python 字典,Key-Value 键值对,数据存储的万能工具,让你的代码更简洁、更高效!
Python数据分析实战4.1-字典dict映射【python
12-21
Python数据分析实战4.1-字典dict映射】 在Python编程中,字典(dict)是一种非常重要的数据结构,它扮演着映射的角色,能够将一个特定的键(key)与一个对应的值(value)关联起来。在数据处理和分析场景中,字典...
基础篇12-python基本数据结构-字典
05-10
字典(Dictionary)在Python中是一种可变容器模型,它以键值对(key-value pairs)的形式存储数据。与列表不同,列表是有序的元素集合,而字典则是无序的。字典的每个键(key)都是唯一的,与之关联的值(value)...
python字符串加密-29-字典拆包.ev4.rar
11-03
Python中,字典是一种可变容器模型,存储键值对,其中键是唯一的,通常用于关联数据。例如: ```python my_dict = {'name': 'Alice', 'age': 30, 'city': 'Beijing'} ``` 在处理字符串加密时,我们可能需要将...
Python算法——链表(反转链表,合并两个排序链表,判断是否有环,链表中倒数最后k个结点,第一个公共结点,删除重复元素)
最新发布
Blusher1的博客
10-20 571
Python算法——链表(反转链表,合并两个排序链表,判断是否有环,链表中倒数最后k个结点,第一个公共结点,删除重复元素)Python算法——链表(反转链表,合并两个排序链表,判断是否有环,链表中倒数最后k个结点,第一个公共结点,删除重复元素)Python算法——链表(反转链表,合并两个排序链表,判断是否有环,链表中倒数最后k个结点,第一个公共结点,删除重复元素)Python算法——链表(反转链表,合并两个排序链表,判断是否有环,链表中倒数最后k个结点,第一个公共结点,删除重复元素)Python算法——链表
一个检查OpenEuler版本的Python脚本的意义与实现
cgqyw的专栏
10-16 255
在系统管理和运维工作中,确定操作系统的版本是一个常见且关键的任务。特别是在需要针对特定版本的操作系统进行部署、配置或升级时,准确地识别系统版本至关重要。OpenEuler作为一个开源的服务器操作系统,因其高性能、高可靠性、高安全性以及丰富的软件生态,逐渐受到越来越多企业和开发者的青睐。本文将介绍一个Python脚本,该脚本旨在检查系统是否为OpenEuler 22.03版本。我们将探讨编写此脚本的意义,并详细展示其实现代码。
Python编程实例-猜数字游戏
视觉与物联智能
10-17 173
每个人都喜欢玩游戏。数字游戏既有趣又对大脑活动有益。在本文中,我们将使用Python创建一个有趣的数字猜谜游戏
【Java 22 | 8】 深入解析Java 22 :Pattern Matching 特性详解
颜淡慕潇
10-17 6937
Java 22 进一步扩展了模式匹配(Pattern Matching)功能,简化了类型检查和条件表达式的使用。此特性不仅提升了代码的可读性,还减少了常见的错误。以下是对 Java 22 中模式匹配的详细介绍,包括基础概念、增强特性、使用场景、示例代码,以及如何在实际项目中有效利用模式匹配
使用Python解决化学问题的实用指南
不迁怒,不贰过。小知识,大智慧。
10-17 2690
在当今科学技术迅速发展的时代,计算机科学与各个学科的结合愈发紧密,尤其是在化学领域。化学不仅是研究物质的组成、结构和性质的科学,更是推动新材料、新药物和新技术发展的基础。随着数据分析和计算模拟的需求增加,Python作为一种高效、易用的编程语言,逐渐成为化学研究和教育中的重要工具。   本博文旨在探讨如何利用Python解决一些常见的化学问题,包括构建分子式、判断化合价、解析分子式、平衡化学反应方程式以及计算化合物的摩尔质量等。通过这些示例,读者不仅可以加深对化学概念的理解,还能掌握如何将编程应用于实际的
Python字典操作教程-详细解析修改方法
2. 字典数据结构:在Python中,字典(dictionary)是一种内置的数据结构,它是一个可变的容器模型,用来存储一系列无序的键值对。字典中的每个键值对用冒号“:”表示,而每对键值之间用逗号“,”分隔,整个字典包含...
写文章

热门文章

  • ORA-28040:没有匹配的验证协议 6521
  • 修改yum源 2629
  • 基于Linux的Oracle安装 2411
  • count(*)和 count(1) 2062
  • Linux---vi编辑器以及部分常见命令 1553

分类专栏

  • python 1篇

最新评论

  • ORA-28040:没有匹配的验证协议

    多来哈米: 换了高版本就就可以连接了!赞

最新文章

  • MapReduce运行流程
  • 修改yum源
  • Python数据容器总结---集合部分
2023年15篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家知名校园玻璃钢雕塑制作厂家山西室内雕塑玻璃钢装饰商场美陈采购南宁步行街玻璃钢雕塑销售电话阿里巴巴玻璃钢雕塑福建环保玻璃钢雕塑河北玻璃钢佛像雕塑张飞山东商场创意商业美陈策划武汉湛江玻璃钢动物雕塑玻璃钢雕塑教材衢州玻璃钢景观雕塑报价安徽景区玻璃钢雕塑多少钱玻璃钢雕塑浮雕雕塑天津步行街玻璃钢雕塑价位四川广场玻璃钢雕塑广西酒店玻璃钢雕塑节庆美陈小品韶关玻璃钢动物雕塑供应绍兴大型玻璃钢雕塑合肥玻璃钢雕塑销售厂家玻璃钢疯狂动物城雕塑玻璃钢雕塑制作工艺书籍石家庄做玻璃钢雕塑的黑龙江玻璃钢红军雕塑上海装饰商场美陈哪家好无锡商场春节美陈仿真玻璃钢人物雕塑销售电话包头玻璃钢雕塑订制价格嘉定区玻璃钢雕塑哪家专业深圳玻璃钢雕塑摆件销售呈贡玻璃钢雕塑设计公司贵不贵香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化