1 字典元素的访问
1.1通过[键]获得“值”。若键不存在,则抛出异常
1.2通过get()方法获得“值”。推荐使用。优点是:指定键不存在,返回None;也可以设定指定键不存在时默认返回的对象。推荐使用get()获取“值对象”。
1.3.列出所有的键值对 a.items()
1.4列出所有的键,列出所有的值 a.keys() a.values()
1.5.len()键值对的个数
1.6检测一个“键”是否在字典中 "name" in a
2 字典元素添加、修改、删除
2.1给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。
2.2使用update()将新字典中所有键值对全部添加到旧字典对象上。如果key有重复,则直接覆盖。
2.3 字典中元素的删除,可以使用del()方法;或者clear()删除所有键值对;pop()删除指定键值对,并返回对应的“值对象”;
2.4 popitem():随机删除和返回该键值对
3 序列解包
序列解包可以用于元组、列表、字典。序列解包可以让我们方便的对多个变量赋值。
序列解包用于字典时,默认是对“键”进行操作;如果需要对键值对操作,则需要使用items();如果需要对“值”进行操作,则需要使用values();
4 表格数据使用字典和列表存储,并实现访问
5 字典核心底层原理
5.1 字典对象的核心是散列表。散列表是一个稀疏数组(总是有空白元素的数组),数组的每个单元叫做bucket。每个bucket有两部分:一个是键对象的引用,一个是值对象的引用。由于,所有bucket结构和大小一致,我们可以通过偏移量来读取指定bucket。
根据键查找“键值对”的底层过程
6 集合
集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典中的“键对象”,因此是不能重复的且唯一的。
6.1 集合创建和删除
6.1.1.使用{}创建集合对象,并使用add()方法添加元素
6.1.2 使用set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个。
6.1.3 remove()删除指定元素;clear()清空整个集合
6.2 集合相关操作
像数学中概念一样,Python对集合也提供了并集、交集、差集等运算。
a|b /union 并集 a&b 交集 a.intersection(b) 交集 a.difference(b) 差集
7 控制语句
7.1 选择结构
选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分支、双分支、多分支。
7.1.1 单分支选择结构if语句单分支结构的语法形式如下:
if条件表达式:
语句/语句块
其中:1.条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。2.语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。
* 条件表达式详解
在选择和循环结构中,条件表达式的值为False的情况如下:False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空range对象、空迭代对象。其他情况,均为True。这么看来,Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。
* 条件表达式中,不能有赋值操作符“=”
7.1.2
双分支结构的语法格式如下:
if条件表达式:
语句1/语句块1
else:
语句2/语句块2
* 三元条件运算符
条件为真时的值if(条件表达式)else条件为假时的值
num=input("请输入一个数字")
print(numifint(num)<10else"数字太大")
7.1.3 多分支选择结构
注意:多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序。
7.1.4 选择结构嵌套
选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。语法格式如下:
if 表达式1:
语句块1
if表达式2:
语句块2
else:语句块3
else:
if表达式4:
语句块4
7.2 循环结构
7.2.1 while 循环
while循环的语法格式如下:
while 条件表达式:
循环体语句
*死循环处理 必须有跳出循环的条件