python语言之字典和控制语句

    科技2024-11-20  22

    字典

    **字典定义**字典创建**字典元素的访问****字典元素添加、修改、删除** **集合****集合创建和删除** **第四章**if**条件语句中不支持赋值语句****选择结构嵌套****While循环语句**练习计算0—100之间所有数值的和。

    字典定义

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

    字典创建

    可以通过{}、dict()来创建字典对象。通过 zip()创建字典对象通过 fromkeys 创建值为空的字典

    字典元素的访问

    (1). 通过 [键] 获得“值”。若键不存在,则抛出异常。 (2). 通过 get()方法获得“值”。推荐使用。优点是:指定键不存在,返回 None;也可以设定指定键不存在时默认返回的对象。推荐使用 get()获取“值对象”。 (3). 列出所有的键值对 (4). 列出所有的键,列出所有的值 (5). len() 键值对的个数 (6). in语句检测一个“键”是否在字典中

    字典元素添加、修改、删除

    给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。 (1). 给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。 (2)使用 update()将新字典中所有键值对全部添加到旧字典对象上。如果 key 有重复,则直接覆盖。 (3)字典中元素的删除,可以使用 del()方法;或者 clear()删除所有键值对;pop()删除指定键值对,并返回对应的“值对象”; (4) popitem() :随机删除和返回该键值对。字典是“无序可变序列”,因此没有第一个元 素、最后一个元素的概念;popitem 弹出随机的项,因为字典并没有"最后的元素"或者其他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效. clear()删除整个字典。 ## 序列解包 序列解包可以让我们方便的对多个变量赋值。 序列解包用于字典时,默认是对“键”进行操作; 如果需要对键值对操作,则需要使用items();如果需要对“值”进行操作,则需要使用 values()

    打印表练习

    字典核心底层原理 字典对象的核心是散列表。散列表是一个稀疏数组(总是有空白元素的数组),数组的每个单元叫做 bucket。每个 bucket 有两部分:一个是键对象的引用,一个是值对象的引用。由于,所有 bucket 结构和大小一致,我们可以通过偏移量来读取指定 bucket。

    python 会根据散列表的拥挤程度扩容。“扩容”指的是:创造更大的数组,将原有内容拷贝到新数组中。接近 2/3 时,数组就会扩容。

    存储和查询的总结

    键必须可散列 (1) 数字、字符串、元组,都是可散列的。 (2) 自定义对象需要支持下面三点:1 支持 hash()函数 2 支持通过__eq__()方法检测相等性。 3 若 a==b 为真,则 hash(a)==hash(b)也为真。字典在内存中开销巨大,典型的空间换时间。键查询速度很快往字典里面添加新建可能导致扩容,导致散列表中键的次序变化。因此,不要在遍历字 典的同时进行字典的修改。

    集合

    集合底层是字典实现,集合的所有元素都是字典中的“键对象”,因此是不能重复的且唯一的。

    集合创建和删除

    add()方法添加元素 使用 set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个。

    第四章

    控制语句

    if

    单分支和多分枝的条件语句表单逻辑

    在选择和循环结构中,条件表达式的值为 False 的情况如下: False、0、0.0、空值 None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空 range 对象、空迭代对象。 其他情况,均为 True。这么看来,Python 所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。

    条件语句中不支持赋值语句

    Python 提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下: 条件为真时的值 if (条件表达式) else 条件为假时的值 多分枝结构

    选择结构嵌套

    选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。

    While循环语句

    while语句只要符合条件语句就进入循环体,若不符合则退出

    练习计算0—100之间所有数值的和。

    Processed: 0.009, SQL: 8