python基础学习第四次

字典
字典是“键值对”的无序可变序列,字典中的每一个元素都是一个“键值对”,包含:“键对象”和“值对象”,可以通过“键对象”实现快速获取,删除,更新对应的“值对象”。
列表中通过“下标数字”找到相应的对象,字典中通过响应的“键对象”找到相应的“值对象”。“键”是任意的不可变的数据,比如:整数,浮点数,字符串,元组,但是:列表,字典,集合这些可变对象,不能作为“键”,并且“键”不可重复。
“值”可以是任意的数据,并且可以重复。
字典的创建
1 我们可以通过{},dict()来创建字典对象
在这里插入图片描述
(注意第三个,每一个元组就是一个键值对)
创建空对象
在这里插入图片描述
通过zip()函数创建字典对象 #了解
在这里插入图片描述
通过fromkeys创建值为空的字典
在这里插入图片描述
(“none”表示值为空)
字典元素的访问
在这里插入图片描述
在这里插入图片描述
还可以通过get()方法获得“值”,并且推荐使用,优点是:指定键不存在,返回None;也可以设指定键不存在时默认返回的对象。推荐使用get()方法获取“值对象”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
列出所有的键值对
在这里插入图片描述
列出所有的键,列出所有的值

在这里插入图片描述
len()键值对的个数
检测一个键是否在字典中
在这里插入图片描述
字典元素的添加,修改,删除
给字典增加键值对,但是如果键已经存在,则覆盖旧的键值对,如果键不存在,则创建新的键值对。
在这里插入图片描述
使用update()将薪资点中所有的键值对全部添加到旧字典对象上, 如果key有重复,则直接覆盖。
在这里插入图片描述
字典元素的删除,可以使用del()方法,或者使用clear()删除所有的键值对;pop()删除指定键值对,并返回对应的‘值对象’;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
popitem()随机删除和返回该键值对。字典是”无序可变序列“,因此没有第一个元素,最后一个元素的概念;popitem弹出随机的项,因为字典并没有”最后的元素“或者其他有关顺序的概念,若想一个接着一个地移除并处理项。这个方法非常有效(因为不用首相获取键地列表)【本质就是随机返回一组键值对】
在这里插入图片描述
序列解包
序列解包可以用于元组,列表,字典。序列解包可以让我们方便地对多个变量赋值。
在这里插入图片描述
序列解包用于字典时,默认对”键“进行操作;如果需要对键值进行操作,则需要使用items();如果需要对”值“操作,则需要使用value();
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述网上数据的本质大多数都是表格
字典核心底层原理(重要)
字典对象的核心时散列表。散列表时一个稀疏数组(总有空白元素的数组),数组的每个单元叫做bucket。每个bucket有两部分:一个键对象的引用,一个是值对象的引用
在这里插入图片描述
将一个键值对放进字典的底层过程
在这里插入图片描述
由于数组长度为8,我们可以拿计算出的散列值的最右边3位数字作为偏移量,即101,其对应的十进制数字是5,然后查看偏移量5,对应的bucket是否为空,若为空,则放进去,不空则再向右取三位,重复此过程,直到找到空的bucket并将其放入为止。(注意:数组长度是8,则三位三位的取,如果数组长度为32,则取五位五位的取,数组长度64则取六位。)
根据键查找“键值对”的底层过程
先算出要找的key的散列值,(如果数组长度为8)则从散列值的右三位开始对应,假如第一个数是x,则看x那一位的key的散列值和刚刚算出来的散列值是否一样,若一样,则结束,不同,则进行相同的操作。

集合(另一种存储结构)
集合是无序可变,元素不能出伏,实际上,集合底层是字典的实现,集合的所有元素都是字典中的“键对象”,因此是不能重复的且唯一的。
集合的创建和删除
在这里插入图片描述
(一定注意,集合中不能出现两个一样的元素)

使用set()函数,将列表,元组等可迭代迭代对象转成集合。如果原来数据存在重复数据,则只保留一个。
在这里插入图片描述
remove()删除指定元素;clear()清空整个集合
在这里插入图片描述
集合相关操作
并集,交集,差集
在这里插入图片描述
选择结构
选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种样式,分为:单分支,双分支,多分枝。流程图:
在这里插入图片描述
在这里插入图片描述
多分支
在这里插入图片描述
单分支选择结构
if语句单分支结构的语法形式如下:
if条件表达式:
语句/语句块 #注意此处一定有缩进
条件表达式:可以是逻辑表达式,关系表达式,算术表达式等等。
语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。
csdnimg.cn/2020072216513766.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzI3ODg4Mg==,size_16,color_FFFFFF,t_70)
一定注意:input函数引进的对象的类型是字符串(str)类型,用的时候可能会需要类型转换。
条件表达式
false,0,0.0,空值none,空序列对象 (空列表,空元组,空集合,空字典,空字符串),空range对象,空迭代对象。
其他情况均为true
条件表达式中,不能有赋值操作符“=”
双分支选择结构
在这里插入图片描述
三元运算符
在这里插入图片描述
多分支表达式
(多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序)
在这里插入图片描述

一定要注意if和elif语句后面要加冒号
format用法复习
在这里插入图片描述
选择结构嵌套
选择结构可以嵌套,使用时一定要注意控制好不同级别代码块儿的缩进量,因为缩进量决定了代码的从属关系,语法格式如下:
在这里插入图片描述
循环结构
如果符合条件,则反复执行循环体里的语句,在每次执行完之后都会判断一次条件是否为True,如果为True则重复执行循环体中的语句。
while循环
while 条件表达式:
循环体语句
例如:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值