




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PYTHON基础知识集合、字典、控制流结构2020年3月第1页,共46页。集合定义集合是元素的无序存储容器,不允许元素出现重复。语法:set1 = value0, value1,valueN 集合中的元素类型未必一致,但是必不重复。集合与列表的区别: (1)集合外边是花括号,而列表是方括号 (2)集合不可以容纳列表、元组和集合,但是列表可以容纳列表和集合 (3)集合中元素无序且不能重复,因此不能用下标索引,而列表中元素可以重复也可以用下标索引。PYTHON核心对象-集合第2页,共46页。集合操作(1)在集合中添加元素 set1.add(elem) (2)删除指定元素 set1.discard(
2、elem) (3)清空集合 set1.clear() (4)集合构造函数 将一个列表转换为集合,或将一个元组转换为集合 set()函数PYTHON核心对象-集合第3页,共46页。PYTHON核心对象-集合第4页,共46页。集合推导集合推导可以通过一个for循环按照一定规则快速生成一个集合。语法: f(x) for x in 列表 或者f(x) for x in 元组 或者f(x) for x in 集合注:集合推导中必须有一个序列限定变量的范围PYTHON核心对象-集合第5页,共46页。集合运算集合之间可以进行求并集、交集和差集。(1)并集运算:set1.union(set2) 将set1和s
3、et2中元素合并同时去重形成新的集合。(2)交集运算:ersection(set2) 将set1和set2中的公共元素组成新的集合。(3)差集运算:set1.difference(set2) 将set1中有set2中没有的元素组成新的集合。PYTHON核心对象-集合第6页,共46页。PYTHON核心对象-集合第7页,共46页。字典定义字典是使用花括号包裹住逗号分隔的“key:value”对。(1)组成单位是键值对。(2)键必须是不可变对象(如字符串、数值或元组),但是值可以是任意的数据类型,可以没有限制的取任何python对象。(3)键必须是唯一的,值不必是。即键名不能重复。如
4、果在创建字典时同一个键出现了两次,后面的值会被记住。PYTHON核心对象-字典第8页,共46页。字典操作(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)dkey=value 如果key已经是字典的键,则将key对应的值赋为value。如果key不存在,则将新生成一个key:value对。(6)dkey 返回key对应的值,若key不存在则报异常。(7)d.get(key, default) 返回key对应
5、的值,若key不存在则返回default的值。(8)list(d.keys() 返回字典键组成的列表。(9)list(d.values() 返回字典值组成的列表.PYTHON核心对象-字典第9页,共46页。(10)list(d.items() 返回(key:value)形式的二元元组列表。(11)list(d) 返回字典键组成的列表。(12)tuple(d) 返回字典的键形成的元组。(13)set(d) 返回字典的键形成的集合。(14)c= 创建一个空字典。(15)c=dict(d) 创建字典d的一个拷贝。(16)del dkey 删除键为key的元素,若无报异常。(17)d.clear()
6、删除字典中的所有元素(18)for k in d 遍历字典所有键(19)d.update(c) 将字典所有元素并入d。若两个元素有相同的键,则使用c中的更换d中的值。(20)max(d) 求最大的键值,要求所有键的类型一致。(21)min(d) 求最小的键值,要求所有键的类型一致。PYTHON核心对象-字典第10页,共46页。dict()函数我们可以使用dict函数将一个有两个元素的列表或者两个元素的元组组成的列表转换为字典。(1)二元列表组成的列表list1 = key1,value1, key2, value2,keyN, valueNdict(list1) 结果为key1:value1,
7、 key2:value2,keyN:valueN(2)二元元组组成的列表list2=(key1,value1), (key2,value2),(keyN, valueN)dict(list2) 结果为key1:value1, key2:value2,keyN:valueNPYTHON核心对象-字典第11页,共46页。PYTHON核心对象-字典第12页,共46页。值为字典的字典字典的值可以是任意类型的对象,包括一个字典。语法:d1=Key1:key1:value1,.例如:PYTHON核心对象-字典第13页,共46页。从字典中获取顺序数据由于字典是无序结构,所以它没有sort方法。不过,使用如下
8、形式的语句,我们可以将字典中的元素按照自定义的顺序存于一个由两个元素的元组组成的列表中: sorted(dict1.items(), key=f, reverse=Boolvalue)其中:reverse=True 倒序 Reverse=False正序(默认)例如:PYTHON核心对象-字典第14页,共46页。使用元组作为字典的键元组是不可变对象,可以作为字典的键。例如:注:只有元组可以做键,列表、集合和字典不行,并且元素是列表、集合或字典的元组也不行。 PYTHON核心对象-字典第15页,共46页。字典推导使用字典推导创建字典。语法: f1(x):f2(x) for x in sequenc
9、e 其中:f1(x)和f2(x)是两个函数。注:f1(x)的结果必须是不可变对象。PYTHON核心对象-字典第16页,共46页。List特点1.查找和插入的时间随着元素的增加而增加2.占用空间小,浪费内存很少Dictionary特点1.查找和插入的速度很快、不会随着key的增加而变慢2.需要占用大量内存,内存浪费多Dictionary 是用空间换取时间。字典和列表的区别第17页,共46页。为了控制判断和循环结构,必须制定执行操作的条件。 条件:又称为布尔表达式,是一种包含了关系运算符(such as =)和逻辑运算符(such as and, or, and not)的表达式。输出:True
10、or False控制流结构-关系和逻辑运算符第18页,共46页。关系运算符关系运算符是用来进行关系比较的运算符。关系运算符的结果是True(真)或者False(假)Python符号数学含义字符串含义=等于相同的!=不等于不同的大于按字典序后于=大于等于按字典序后于或位置相同in是子字符串not in不是子字符串*ASCII码决定了使用关系运算符比较字符串的顺序控制流结构-关系和逻辑运算符第19页,共46页。 ASCII码ASCII码是一种编码方式,其决定了使用关系运算符比较字符串时的顺序。使得每一个字符都有一个对应的数值,这些数值称为对应字符的ASCII码。ASCII码转字符函数:chr(n)
11、,找出数值n对应的字符。字符转ASCII码函数:ord(str),找出字符str对应的ASCII码。常用ASCII码为32(blank)-126()01_ascii.py控制流结构-关系和逻辑运算符第20页,共46页。逻辑运算符(多个条件情况下)逻辑运算符主要有三个:(1)与运算:and(2)或运算:or(3)非运算:not如果cond1和cond2是两个条件,则符合条件cond1 and cond2 都为真才是真,否则为假cond1 or cond2 都是假才假,否则为真 not cond1 cond1为假结果是真,否则结果为假控制流结构-关系和逻辑运算符第21页,共46页。短路求值(1)c
12、ond1 and cond2时,如果cond1为假,Python就会认为整个条件为假,进而不对cond2进行计算。(2)cond1 or cond2时,如果cond1为真,Python就会认为整个条件为真,而不继续计算cond2。这个过程被称为短路求值。例如:控制流结构-关系和逻辑运算符第22页,共46页。简化条件列表或元组有时可以用来简化包含逻辑运算符的长复合条件。在逻辑代数中,德摩根定律定义如下:not(cond1 and cond2) 等价于 not(cond1) or not(cond2)not(cond1 or cond2) 等价于 not(cond1) and not(cond2)
13、例如:控制流结构-关系和逻辑运算符第23页,共46页。if-else语句If-else语句有如下形式:if condition: 缩进的语句块else: 缩进的语句块if语句会根据条件的真假选择执行不同的语句块,如果是真执行第一个语句块,如果是假则执行第二个语句块。注意:(1)Python语句块没有的分割,要区别不同级别的语句 块,需要通过缩进。缩进代表一个语句块的开始和结束。 (2)冒号控制流结构-判断结构第24页,共46页。if语句if-else的语句中else部分可以省略,如果省略,当条件为假时,将会继续执行if语句块之后的代码。例如:控制流结构-判断结构第25页,共46页。if-els
14、e嵌套if-else和if语句的缩进块可以包含其他的if-else和if语句。在这种情况下,这些语句称为嵌套语句。例如:if cond1: if cond2: 缩进语句块1 else: 缩进语句块2else: if cond3: 缩进语句块3 else: 缩进语句块4 控制流结构-判断结构if cond1: if cond2: 缩进语句块1 else: 缩进语句块2 if cond3: 缩进语句块3 else: 缩进语句块4else: 缩进语句块5 第26页,共46页。elif子句if-else语句的扩展允许出现多于两种可能性的选择,其中包含了elif子句。一个包含elif子句的典型复合语句如
15、下: if cond1: 缩进的语句块1 elif cond2: 缩进的语句块2 elif cond3: 缩进的语句块3 else: 缩进的语句块4Python会依次检查每一个条件,那个为真执行那个,如果都是假则执行else子句的语句块。控制流结构-判断结构第27页,共46页。控制流结构-判断结构第28页,共46页。循环是程序设计中最重要的结构之一,是程序中可以重复执行的一段代码。while循环当特定条件满足时,while循环重复执行一个缩进的语句块,一个while循环具有如下格式: while condition: 缩进的语句块注:(1)while循环中的条件称为继续条件 (2)缩进的代码块
16、称为循环体。 (3)在执行while循环时,首先判断循环条件是否为真,若是则继续执行循环体,若是假则跳出循环执行循环后边的语句。 (4)循环会执行到条件变成假为止。控制流结构-循环结构第29页,共46页。控制流结构-循环结构第30页,共46页。无限循环无限循环指的是循环条件永远满足,循环永远无法停止。格式如下:while True/非0/非空值: 缩进的语句块注:在编写程序时,一定要注意避免无限循环, 所以要特别注意条件是否能终止。控制流结构-循环结构第31页,共46页。break语句break语句是导致从循环体任意位置退出的语句。当语句break在一个while循环体中执行时,循环会马上终止
17、。break语句通常出现在if语句的语句块中。 例如: while cond1: 缩进的语句块 if cond2: 缩进的语句块 break控制流结构-循环结构第32页,共46页。continue语句当语句continue在一个while循环体中执行时,当前循环终止,程序跳转到循环的头部。continue语句通常出现在if语句里面。 例如: while cond1: 缩进的语句块 if cond2: 缩进的语句块 continue控制流结构-循环结构第33页,共46页。continue与break的区别:continue是结束本次循环进入下一次循环,无论本次循环是否执行完毕。break语句是跳
18、出整个循环体,不再循环,执行整个循环体后边的语句。控制流结构-循环结构第34页,共46页。控制流结构-循环结构第35页,共46页。For循环我们可以用for循环来迭代一系列数值。for循环的一般形式是:for var in sequence: 缩进的语句块其中sequence可以是等差数列、字符串、列表、元组或者是一个文件对象。变量依次被赋予序列中的每一个值, 然后在缩进的语句块中的语句将在每一次赋值后执行一次,直到每个值都被执行完毕。header迭代变量condition控制流结构-FOR循环第36页,共46页。等差数列的循环遍历range()函数可以用来产生一个等差数列。如果m和n是整数,
19、并且mn,则函数range(m,n)会产生一系列整数序列(m,m+1,n-1)。for循环形式如下: for num in range(m,n): 缩进的语句块 注:(1)for后边的变量被称为循环变量。 (2)缩进的语句块被称为循环体。 (3)每一次循环的执行被叫做循环的一轮。控制流结构-FOR循环第37页,共46页。range函数的步长如果m和n是整数,并且mn,则函数range(m,n,s)会产生一个公差是s的等差序列,s被称为步长值。for循环形式例如:for num in range(m,n,s): 缩进的语句块 控制流结构-FOR循环第38页,共46页。for循环的嵌套在for循环
20、的缩进语句块中可以嵌套另一个for循环。例如:控制流结构-FOR循环第39页,共46页。循环遍历字符串的字符如果str1是一个字符串,则循环for ch in str1: 缩进的语句块这个循环将会从第一个字符开始,针对字符串中的每一个字符执行一遍循环体,因此这个循环体被执行了len(str1)次。控制流结构-FOR循环第40页,共46页。遍历列表和元组元素如果listOrTuple是一个列表或元组,则循环for item in listOrTuple : 缩进的语句块这个循环将会从第一个元素开始,针对列表或元组中的每一个元素执行一遍循环体,因此这个循环体被执行了len(listOrTuple)次。控制流结构-FOR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厂房转让合同范例 详细
- 会展项目合作合同范例
- 原圆木采购合同范例
- 农场承包协议合同范本
- 医院清退合同范例
- oem 保密合同范例
- 办酒席场地出租合同范例
- 叉车设备采购合同范例
- 劳动法合同范例
- 关于分配土地合同范例
- 《餐巾折花图示》课件
- 南京市、盐城市2025届高三年级第一次模拟考试(一模)英语试卷(含答案)+听力音频
- DB12T 676.3-2016 高速公路联网收费技术要求 第3部分:非现金收费
- 国家标准装修合同(2025年)
- 医院感染管理制度培训
- 电影《白日梦想家》课件
- 2024年中职高考数学计算训练 专题10 解三角形的相关计算
- 完整版:美制螺纹尺寸对照表(牙数、牙高、螺距、小径、中径外径、钻孔)
- 电石(碳化钙)安全技术说明书
- 四川省会计师事务所服务收费标准
- 中国品牌授权行业发展环境、市场运行态势及投资前景分析预测报告
评论
0/150
提交评论