【Python基础知识-pycharm版】第五节-字典\集合
第五节-字典\集合\控制语句
- 字典
- 字典的创建
- 字典元素的访问
- 字典元素添加、修改、删除
- 序列解包
- 表格数据使用字典和列表存储,并实现访问
- 字典核心底层原理(重要)
- 集合
- 集合相关操作
字典
字典是“键值对”的无序可变序列,字典中的每个元素都是一个键值对,包含:“键对象”和“值对象”,可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。
列表中我们通过“下标数字”找到对应的对象。字典中通过“键对象”找到对应的“值对象”。“键”是任意不可变数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些事可变对象,不可能作为“键”。并且“键”不可重复。“值”可以是任意的数据,并且可以重复。
字典的创建
1.可以通过{}、dict{}来创建字典对象。
2.通过zip()创建字典对象
zip的第一个参数是键。
3.通过fromkeys创建值为空的字典
None表示的是值。
字典元素的访问
为了测试各种方法,我们设定一个字典对象“
1.通过[键]获得“值”。若键不存在,则抛出异常
2.通过get()方法获得“值”。推荐使用。优点是:指定键不存在返回None;也可以设定指定键不存在时默认返回的对象,推荐使用get()获取“值对象”。
3.列出所有的键值对
4.列出所有的键,列出所有的值
5.len()键值对的个数
6.检测一个“键”是否在字典中
字典元素添加、修改、删除
1.给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。
2.使用update()将新字典中所有键值对全部添加到旧字典对象上。如果key有重复,则直接覆盖。
3.字典中元素的删除,可以使用del()方法;或者clear()删除所有的键值对;pop()删除指定键值对,并返回对应的“值对象”;
4.popitem():随机删除和返回该键值对。字典是“无序可变序列”,因此没有第一元素、最后元素的概念;popitem弹出随机的项,因为字典并没有“最后的元素”或者其他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效(因为不用首先获取键的列表)。
序列解包
序列解包可以用于元祖、列表、字典。序列解包可以让我们方便的对多个变量赋值。
序列解包用于字典时,默认是对“键”进行操作;如果需要对键值对操作,则需要使用items();如果需要对“值”进行操作,则需要使用values();
默认是对键进行操作,对键值对操作,则需要使用items()
对值进行操作如下:
表格数据使用字典和列表存储,并实现访问
r1={'name':'高小一','age':18,'salary':30000,'city':'北京'}
r2={'name':'高小二','age':19,'salary':20000,'city':'上海'}
r3={'name':'高小五','age':20,'salary':10000,'city':'深圳'}
tb=[r1,r2,r3]
#获得第二行的人的薪资
print(tb[1].get('salary'))
20000Process finished with exit code 0
r1={'name':'高小一','age':18,'salary':30000,'city':'北京'}
r2={'name':'高小二','age':19,'salary':20000,'city':'上海'}
r3={'name':'高小五','age':20,'salary':10000,'city':'深圳'}
tb=[r1,r2,r3]
#获得第二行的人的薪资
print(tb[1].get('salary'))#打印表中所有的薪资
for i in range(len(tb)): #i-->0,1,2print(tb[i].get('salary'))
20000
30000
20000
10000Process finished with exit code 0
#打印表中所有的数据
for i in range(len(tb)): #i-->0,1,2print(tb[i].get('name'),tb[i].get('salary'),tb[i].get('age'),tb[i].get('city'))
高小一 30000 18 北京
高小二 20000 19 上海
高小五 10000 20 深圳Process finished with exit code 0
字典核心底层原理(重要)
集合
集合相关操作
【Python基础知识-pycharm版】第五节-字典\集合相关推荐
- 【Python基础知识-pycharm版】第一节-基础
python第一节 特点 Python 解释器 python开发环境 交互模式 IDLE开发环境使用入门 程序基本格式 图形化程序设计 python程序的构成 python程序的对象 python的引 ...
- 【Python基础知识-pycharm版】第二节-赋值/数据类型/时间点/运算符/字符串
python第二节 链式赋值_系列解包赋值 内置数据类型 时间表示unix时间点 多点坐标绘出折线图 运算符 字符串 部分来源: 1.https://blog.csdn.net/wys103158/a ...
- 【Python基础知识-pycharm版】第九节_面向对象的三大特征
第九节 方法 方法没有重载 私有属性和私有方法(实现封装) @property装饰器_get和set方法 面向对象的三大特征说明(封装.继承.多态) 继承 方法的重写(类成员的继承和重写) 查看类的继 ...
- Python基础知识-pycharm版第六节笔记
文章目录 嵌套函数(内部函数) 嵌套函数(内部函数) 嵌套函数: 在函数内部定义的函数! #测试嵌套函数定义def outer():print('outer running')def inner01( ...
- 【Python基础知识-pycharm版】第三节-列表
Python 第三节-列表 序列-列表 列表创建的四种方式 创建列表的增加和删除 列表元素访问和技术 列表排序 二维列表 表格数据的存取和读取 序列-列表 常用的序列结构:字符串 元祖 字典 集合 列 ...
- 【Python基础知识-pycharm版】第十一节-文件操作(IO技术)
第十一节-文件操作(IO技术) 文本文件和二进制文件 文件操作相关模块概述 创建文件对象 open() 文本文件的写入 基本的文件写入操作 常用编码介绍 ASCII ISO8859-1 GB2312, ...
- 【Python基础知识-pycharm版】第十节_异常
第十节 异常 异常机制本质 异常解决的关键:定位 try... 一个 except 结构 try... 多个 except 结构 try...except...else 结 构 try...excep ...
- 【Python基础知识-pycharm版】第六节-控制语句
第六节 控制语句 选择结构 多分支选择结构 选择结构的嵌套 循环结构 while循环 for循环和可迭代对象遍历 range 对象 嵌套循环 break continue else语句 循环代码优化 ...
- 【Python基础知识-pycharm版】第七节-函数
函数 函数 函数定义与调用 形参和实参 变量的作用域(全局变量和局部变量) 局部变量和全局变量的测试 参数的传递 参数的几种类型 位置参数 默认值参数 命名参数 可变参数 强制命名参数 lambda表 ...
最新文章
- Mybatis基于SqlSession实现CRUD
- WPF触发器之数据触发器(A)
- requests.exceptions.ConnectionError: (‘Connection aborted.‘, BadStatusLine(“‘‘“,))
- 在Python中用turtle函数画同心圆
- 技术创作101训练营:从0到1教你搭建自己的技术品牌
- python 混淆矩阵_新手常见的5个Python错误
- AI 应届博士生年薪八十万,贵吗?
- Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件
- ubuntu终端颜色配置
- java案例代码18--算法-选择排序以及二分查找排序
- java web中request.getParameterValues()和request.getParameter()异同
- 网络中的公网和内网 (ipv4)
- udp洪水攻击java_Linux网络编程--洪水攻击详解
- 世界再大,大不过一盘番茄炒蛋
- python获取地图上经纬度_Python从地图上划出经纬度
- Biblatex 参考文献样式
- AD域用户加入域中的各个组解释
- 带大家读python数据分析一书(三)
- 宿舍管理系统的设计与实现/学生宿舍管理系统
- 二叉树——二叉树的深度