Python基础知识——集合、字典、控制流结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PYTHON核心对象-集合
PYTHON核心对象-集合
集合推导
集合推导可以通过一个for循环按照一定规则快速生成一个集合。
语法: {f(x) for x in 列表} 或者{f(x) for x in 元组} 或者{f(x) for x in 集合}
注:集合推导中必须有一个序列限定变量的范围
PYTHON核心对象-集合
常用ASCII码为32(blank)-126(~)
01_ascii.py
控制流结构-关系和逻辑运算符
逻辑运算符(多个条件情况下)
逻辑运算符主要有三个: (1)与运算:and (2)或运算:or (3)非运算:not
如果cond1和cond2是两个条件,则符合条件 cond1 and cond2 都为真才是真,否则为假 cond1 or cond2 都是假才假,否则为真
*ASCII码决定了使用关系运算符比较字符串的顺序
控制流结构-关系和逻辑运算符
ASCII码
ASCII码是一种编码方式,其决定了使用关系运算符比较字符串时 的顺序。使得每一个字符都有一个对应的数值,这些数值称为对 应字符的ASCII码。
ASCII码转字符函数:chr(n),找出数值n对应的字符。 字符转ASCII码函数:ord(str),找出字符str对应的ASCII码。
(2)冒号
控制流结构-判断结构
if语句
if-else的语句中else部分可以省略,如果省略,当条件为假时,将 会继续执行if语句块之后的代码。
例如:
控制流结构-判断结构
if-else嵌套
if-else和if语句的缩进块可以包含其他的if-else和if语句。在这种 情况下,这些语句称为嵌套语句。
列表和集合 (3)集合中元素无序且不能重复,因此不能用下标索引,而
列表中元素可以重复也可以用下标索引。
PYTHON核心对象-集合
集合操作
(1)在集合中添加元素 set1.add(elem)
(2)删除指定元素 set1.discard(elem)
(3)清空集合 set1.clear()
(4)集合构造函数 将一个列表转换为集合,或将一个元组转换为集合 set()函数
是则继续执行循环体,若是假则跳出循环执行循环后边的语句。 (4)循环会执行到条件变成假为止。
控制流结构-循环结构
控制流结构-循环结构
无限循环
无限循环指的是循环条件永远满足,循环永远无法停止。
格式如下: while True/非0/非空值:
缩进的语句块
注:在编写程序时,一定要注意避免无限循环, 所以要特别注意条件是否能终止。
例如:
控制流结构-判断结构
if-else语句
If-else语句有如下形式: if condition:
缩进的语句块 else:
缩进的语句块
if语句会根据条件的真假选择执行不同的语句块,如果是真执行第 一个语句块,如果是假则执行第二个语句块。
注意:(1)Python语句块没有{}的分割,要区别不同级别的语句 块,需要通过缩进。缩进代表一个语句块的开始和结束。
控制流结构-判断结构
elif子句
if-else语句的扩展允许出现多于两种可能性的选择,其中包含了 elif子句。 一个包含elif子句的典型复合语句如下:
if cond1: 缩进的语句块1
elif cond2: 缩进的语句块2
elif cond3: 缩进的语句块3
else: 缩进的语句块4
Python会依次检查每一个条件,那个为真执行那个,如果都是假 则执行else子句的语句块。
continue语句
当语句continue在一个while循环体中执行时,当前循环终止,程 序跳转到循环的头部。 continue语句通常出现在if语句里面。
例如: while cond1: 缩进的语句块 if cond2: 缩进的语句块 continue
控制流结构-循环结构
continue与break的区别:
集合运算
集合之间可以进行求并集、交集和差集。 (1)并集运算:set1.union(set2)
将set1和set2中元素合并同时去重形成新的集合。
(2)交集运算:set1.intersection(set2) 将set1和set2中的公共元素组成新的集合。
(3)差集运算:set1.difference(set2) 将set1中有set2中没有的元素组成新的集合。
控制流结构-循环结构
break语句
break语句是导致从循环体任意位置退出的语句。 当语句break在一个while循环体中执行时,循环会马上终止。 break语句通常出现在if语句的语句块中。
例如: while cond1: 缩进的语句块 if cond2: 缩进的语句块 break
控制流结构-循环结构
continue是结束本次循环进入下一次循环,无论本次循环是否执 行完毕。 break语句是跳出整个循环体,不再循环,执行整个循环体后边的 语句。
控制流结构-关系和逻辑运算符
关系运算符
关系运算符是用来进行关系比较的运算符。
Python符号
数学含义
字符串含义
==
等于
相同的
!=
不等于
不同的
<
小于
按字典序先于
>
大于
按字典序后于
<=
小于等于
按字典序先于或位置相

>=
大于等于
按字典序后于或位置相

in
是子字符串
not in
不是子字符串
关系运算符的结果是True(真)或者False(假)
例如: if cond1:
if cond2: 缩进语句块1
else: 缩进语句块2
else: if cond3: 缩进语句块3 else: 缩进语句块4
if cond1: if cond2: 缩进语句块1 else: 缩进语句块2 if cond3: 缩进语句块3 else: 缩进语句块4
else: 缩进语句块5
值为字典的字典
字典的值可以是任意类型的对象,包括一个字典。 语法:d1={Key1:{key1:value1,…},...}
例如:
PYTHON核心对象-字典
从字典中获取顺序数据
由于字典是无序结构,所以它没有sort方法。不过,使用如下形 式的语句,我们可以将字典中的元素按照自定义的顺序存于一个 由两个元素的元组组成的列表中:
sorted(dict1.items(), key=f, reverse=Boolvalue)
其中:reverse=True 倒序 Reverse=False正序(默认)
例如:
PYTHON核心对象-字典
使用元组作为字典的键
元组是不可变对象,可以作为字典的键。 例如:
注:只有元组可以做键,列表、集合和字典不行,并且元素是列 表、集合或字典的元组也不行。
PYTHON核心对象-字典
字典操作
(1)len(d) 计算字典d中键值对的个数 (2)x in d 如果x是字典的一个键,返回True (3)x:y in d 如果x:y是字典的一个键值对,返回True。 (4)x:y not in d 如果x:y不在字典中,返回True。 (5)d[key]=value 如果key已经是字典的键,则将key对应的值赋 为value。如果key不存在,则将新生成一个key:value对。 (6)d[key] 返回key对应的值,若key不存在则报异常。 (7)d.get(key, default) 返回key对应的值,若key不存在则返回 default的值。 (8)list(d.keys()) 返回字典键组成的列表。 (9)list(d.values()) 返回字典值组成的列表.
例如:
控制流结构-关系和逻辑运算符
简化条件
列表或元组有时可以用来简化包含逻辑运算符的长复合条件。 在逻辑代数中,德摩根定律定义如下: • not(cond1 and cond2) 等价于 not(cond1) or not(cond2) • not(cond1 or cond2) 等价于 not(cond1) and not(cond2)
not cond1 cond1为假结果是真,否则结果为假
控制流结构-关系和逻辑运算符
短路求值
(1)cond1 and cond2时,如果cond1为假,Python就会认 为整个条件为假,进而不对cond2进行计算。 (2)cond1 or cond2时,如果cond1为真,Python就会认为 整个条件为真,而不继续计算cond2。 这个过程被称为短路求值。
控制流结构-判断结构
控制流结构-循环结构
循环是程序设计中最重要的结构之一,是程序中可以重复执行的 一段代码。
while循环
当特定条件满足时,while循环重复执行一个缩进的语句块,一个 while循环具有如下格式:
while condition: 缩进的语句块
注:(1)while循环中的条件称为继续条件 (2)缩进的代码块称为循环体。 (3)在执行while循环时,首先判断循环条件是否为真,若
Dictionary特点 ➢ 1.查找和插入的速度很快、不会随着key的增加而变慢 ➢ 2.需要占用大量内存,内存浪费多
Dictionary 是用空间换取时间。
控制流结构-关系和逻辑运算符
为了控制判断和循环结构,必须制定执行操作的条件。
条件:又称为布尔表达式,是一种包含了关系运算符 (such as < and >=)和逻辑运算符(such as and, or, and not)的表达 式。 ➢ 输出:True or False
PYTHON核心对象-字典
(10)list(d.items()) 返回(key:value)形式的二元元组列表。 (11)list(d) 返回字典键组成的列表。 (12)tuple(d) 返回字典的键形成的元组。 (13)set(d) 返回字典的键形成的集合。 (14)c={} 创建一个空字典。 (15)c=dict(d) 创建字典d的一个拷贝。 (16)del d[key] 删除键为key的元素,若无报异常。 (17)d.clear() 删除字典中的所有元素 (18)for k in d 遍历字典所有键 (19)d.update(c) 将字典所有元素并入d。若两个元素有相同的 键,则使用c中的更换d中的值。 (20)max(d) 求最大的键值,要求所有键的类型一致。 (21)min(d) 求最小的键值,要求所有键的类型一致。
(2)二元元组组成的列表 list2=[(key1,value1), (key2,value2),…,(keyN, valueN)] dict(list2) 结果为 {key1:value1, key2:value2,…,keyN:valueN}
PYTHON核心对象-字典
PYTHON核心对象-字典
PYTHON核心对象-字典
dict()函数
我们可以使用dict函数将一个有两个元素的列表或者两个元素的 元组组成的列表转换为字典。 (1)二元列表组成的列表 list1 = [[key1,value1], [key2, value2],…,[keyN, valueN]] dict(list1) 结果为 {key1:value1, key2:value2,…,keyN:valueN}
PYTHON核心对象ຫໍສະໝຸດ 字典 字典推导使用字典推导创建字典。 语法: { f1(x):f2(x) for x in sequence } 其中:f1(x)和f2(x)是两个函数。
注:f1(x)的结果必须是不可变对象。
字典和列表的区别
List特点 ➢ 1.查找和插入的时间随着元素的增加而增加 ➢ 2.占用空间小,浪费内存很少
PYTHON基础知识
集合、字典、控制流结构
2020年3月
PYTHON核心对象-集合
集合定义
集合是元素的无序存储容器,不允许元素出现重复。
语法:set1 = {value0, value1,…,valueN} 集合中的元素类型未必一致,但是必不重复。
集合与列表的区别: (1)集合外边是花括号,而列表是方括号 (2)集合不可以容纳列表、元组和集合,但是列表可以容纳
PYTHON核心对象-集合
PYTHON核心对象-字典
字典定义
字典是使用花括号包裹住逗号分隔的“key:value”对。
(1)组成单位是键值对。 (2)键必须是不可变对象(如字符串、数值或元组),但是值可 以是任意的数据类型,可以没有限制的取任何python对象。 (3)键必须是唯一的,值不必是。即键名不能重复。如果在创建 字典时同一个键出现了两次,后面的值会被记住。
相关文档
最新文档