第五节-字典\集合\控制语句

  • 字典
    • 字典的创建
    • 字典元素的访问
    • 字典元素添加、修改、删除
    • 序列解包
    • 表格数据使用字典和列表存储,并实现访问
    • 字典核心底层原理(重要)
  • 集合
    • 集合相关操作

字典

字典是“键值对”的无序可变序列,字典中的每个元素都是一个键值对,包含:“键对象”和“值对象”,可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。
列表中我们通过“下标数字”找到对应的对象。字典中通过“键对象”找到对应的“值对象”。“键”是任意不可变数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些事可变对象,不可能作为“键”。并且“键”不可重复。“值”可以是任意的数据,并且可以重复。

字典的创建

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版】第五节-字典\集合相关推荐

  1. 【Python基础知识-pycharm版】第一节-基础

    python第一节 特点 Python 解释器 python开发环境 交互模式 IDLE开发环境使用入门 程序基本格式 图形化程序设计 python程序的构成 python程序的对象 python的引 ...

  2. 【Python基础知识-pycharm版】第二节-赋值/数据类型/时间点/运算符/字符串

    python第二节 链式赋值_系列解包赋值 内置数据类型 时间表示unix时间点 多点坐标绘出折线图 运算符 字符串 部分来源: 1.https://blog.csdn.net/wys103158/a ...

  3. 【Python基础知识-pycharm版】第九节_面向对象的三大特征

    第九节 方法 方法没有重载 私有属性和私有方法(实现封装) @property装饰器_get和set方法 面向对象的三大特征说明(封装.继承.多态) 继承 方法的重写(类成员的继承和重写) 查看类的继 ...

  4. Python基础知识-pycharm版第六节笔记

    文章目录 嵌套函数(内部函数) 嵌套函数(内部函数) 嵌套函数: 在函数内部定义的函数! #测试嵌套函数定义def outer():print('outer running')def inner01( ...

  5. 【Python基础知识-pycharm版】第三节-列表

    Python 第三节-列表 序列-列表 列表创建的四种方式 创建列表的增加和删除 列表元素访问和技术 列表排序 二维列表 表格数据的存取和读取 序列-列表 常用的序列结构:字符串 元祖 字典 集合 列 ...

  6. 【Python基础知识-pycharm版】第十一节-文件操作(IO技术)

    第十一节-文件操作(IO技术) 文本文件和二进制文件 文件操作相关模块概述 创建文件对象 open() 文本文件的写入 基本的文件写入操作 常用编码介绍 ASCII ISO8859-1 GB2312, ...

  7. 【Python基础知识-pycharm版】第十节_异常

    第十节 异常 异常机制本质 异常解决的关键:定位 try... 一个 except 结构 try... 多个 except 结构 try...except...else 结 构 try...excep ...

  8. 【Python基础知识-pycharm版】第六节-控制语句

    第六节 控制语句 选择结构 多分支选择结构 选择结构的嵌套 循环结构 while循环 for循环和可迭代对象遍历 range 对象 嵌套循环 break continue else语句 循环代码优化 ...

  9. 【Python基础知识-pycharm版】第七节-函数

    函数 函数 函数定义与调用 形参和实参 变量的作用域(全局变量和局部变量) 局部变量和全局变量的测试 参数的传递 参数的几种类型 位置参数 默认值参数 命名参数 可变参数 强制命名参数 lambda表 ...

最新文章

  1. Mybatis基于SqlSession实现CRUD
  2. WPF触发器之数据触发器(A)
  3. requests.exceptions.ConnectionError: (‘Connection aborted.‘, BadStatusLine(“‘‘“,))
  4. 在Python中用turtle函数画同心圆
  5. 技术创作101训练营:从0到1教你搭建自己的技术品牌
  6. python 混淆矩阵_新手常见的5个Python错误
  7. AI 应届博士生年薪八十万,贵吗?
  8. Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件
  9. ubuntu终端颜色配置
  10. java案例代码18--算法-选择排序以及二分查找排序
  11. java web中request.getParameterValues()和request.getParameter()异同
  12. 网络中的公网和内网 (ipv4)
  13. udp洪水攻击java_Linux网络编程--洪水攻击详解
  14. 世界再大,大不过一盘番茄炒蛋
  15. python获取地图上经纬度_Python从地图上划出经纬度
  16. Biblatex 参考文献样式
  17. AD域用户加入域中的各个组解释
  18. 带大家读python数据分析一书(三)
  19. 宿舍管理系统的设计与实现/学生宿舍管理系统
  20. 二叉树——二叉树的深度

热门文章

  1. 前端小插件之手写js循环滚动特效
  2. 树莓派安装MySQL数据库与卸载
  3. 60、二叉搜索树的第k个结点
  4. 为什么全天坐在电脑前会让你精疲力竭
  5. 【转载】OpenStack Swift学习笔记
  6. Jquery 常用总结
  7. 1502: [NOI2005]月下柠檬树 - BZOJ
  8. 写写最近吧,关于读研、找工作
  9. 同事用void把我给秀翻了!
  10. mysql 查询 集合_MySQL使用集合函数进行查询操作实例详解