python语言程序设计(MOOC 嵩天)第六章 学习笔记(0221)

第六章 组合数据类型

前课复习

数据类型及操作:
整数类型的无限范围及四种进制表示
浮点数类型的近似无限范围、小尾数及科学记数法
二元操作符、二元增强赋值操作符
系列函数

字符串类型及操作:
递增递减与索引切片
操作符及函数

程序的分支结构:
单分支 if 二分支 if-else 及紧凑形式
多分支 if-elif-else 及条件之间的关系
分支中条件判断的相关操作符
异常处理 try-except-else-finally

程序的循环:
for in 的遍历循环
while 的无限循环
continue 和break 保留字
循环 else 的高级用法

函数的定义和使用:
def 定义函数 lamba定义匿名函数
可选参数-赋初值、可变参数- *b、名称传递
return 返回任意多个结果
global 声明全局变量

代码复用和函数递归:
模块化设计的松耦合、紧耦合
函数递归的基例和链条
函数递归的实现-- 函数+分支结构

6.1 集合类型及操作

6.1.1集合类型定义

集合是多个元素的无序组合
集合定义与数学一致
集合元素之间无序且唯一
集合元素不可更改,不能为可变数据类型
集合用 {} 表示,元素之间用逗号分隔
建立集合类型使用 {} 或 set {}
建立空集合必须使用 set {}

6.1.2 集合操作符

六个基本操作符:
S | T 并,返回新集合,包括在集合S、集合T中所有元素
S - T 减,返回新集合,包括在集合S但不在集合T的所有元素
S & T 交,返回新集合,包括同时在集合S、集合T中的元素
S ^ T 补,返回新集合,包括集合S、集合T中的非相同元素
S < 或 <= T,返回True or False ,判断S是否为T的子集
S > 或 >= T,返回True or False ,判断S是否包含T
增强赋值操作符:
S |= T 并,更新集合S,包括在集合S、集合T中所有元素
S -= T 减,更新集合S,包括在集合S但不在集合T的所有元素
S &= T 交,更新集合S,包括同时在集合S、集合T中的元素
S ^= T 补,更新集合S,包括集合S、集合T中的非相同元素

6.1.3 集合的处理方法

S.add(x) 在集合S中加入元素x,若x已经存在不报错
S.discard(x) 在集合S中删除元素x,若本没有x不报错
S.remove(x) 在集合S中删除元素x,若本没有x报错Key Error
S.clear() 移除S中所有元素
S.pop()在S中随机取出并删除一个元素,若S本为空则Key Error
S.copy 返回一个S集合的副本
len(s) 返回集合S元素的个数
x in S 判断元素x是否在集合S中,返回True or False
x not in S 判断元素x是否不在集合S中,返回True or False
set(x) 将未知类型的x转变为集合类型

eg:执行pop函数,不断取出元素直至空,error时执行pass

try:
	while True:
		print (A.pop(),end="")
except:
	pass

6.1.4 集合类型应用类型

包含关系、数据去重

6.2 序列类型及操作

元组、列表

6.2.1 序列类型定义

序列是具有先后顺序的一组元素
序列是一维元素向量,内部元素可以相同,元素类型可以不同
#类似数学元素序列
元素间由序号进行引导,可以通过下标访问序列的特定元素
序列类型是一个基类类型:字符串、元组、列表
在序列类型中,元素存在正向递增、反向递减的序号索引关系

6.2.2 序列处理函数及方法

在这里插入图片描述
六个操作符:
x in s : 若x是序列s的元素,返回True,否则返回False
x not in s : 如果x是序列s的元素,返回False,否则返回True
s + t : 连接两个序列s和t
sn or ns : 将序列s复制n次
s [j] : 索引,返回序列s中的第i个元素
s [i:j] or s [i:j:k] :切片,返回序列s中第i到j,以k为步长的元素
子序列
在这里插入图片描述
函数和方法:
len(s) :返回序列s的长度
min(s) : 返回序列s中的最小元素,前提是元素可比较
max(s) :返回序列s中的最小元素,前提是元素可比较
s.index(x) or s.index(x;i;j) :返回s中从i到j位置第一次出现x的位置
s.count(x) :返回序列s中出现元素x的次数

6.2.3 元组类型及操作

元组是序列类型的一种扩展,一旦创建就不能修改
使用()或 tuple()创建,元素间逗号分隔
元组类型将元素进行有序排列,使用括号进行组织
元组类型继承了序列类型的所有通用操作
元组类型创建后无法修改,因此没有特殊操作

6.2.4 列表类型及操作

元组是序列类型的一种扩展,创建后可以随意修改
使用 [] 或 list()真正创建列表,元素间逗号分隔
#使用 = 赋值,给列表起一个第二名称,两个名称指向同一列表
列表中各元素类型可以不同,且没有长度限制
在这里插入图片描述
基本操作:
ls [i] = x:替换列表ls第i元素为x
ls [i:j:k] = lt:用列表lt替换ls切片后所对应元素子列表
del ls [i]:删除列表ls中第i元素
del ls [i:j:k]:删除列表ls中第i到第j以k为步长的元素
ls += lt:更新列表ls,将列表lt中元素增加到列表ls中
ls *= n:更新列表ls,将其中元素重复n次
在这里插入图片描述
加强函数操作:
ls.append(x):在列表ls最后增加一个元素x
ls.clear():删除列表ls中所有元素
ls.copy():生成一个新列表,赋值ls中所有元素
ls.insert(i,x):在列表ls中第i位置增加元素x
ls.pop(i):将列表ls中第i位置元素取出并删除该元素
ls.remove(x):将列表ls中出现的第一个元素x删除
ls.reverse():将列表ls中的元素反转

6.2.5 序列类型应用场景

数据表示
元组:用于数据不改变的场景,更多用于固定搭配场景
#如:return
列表:最常用的序列类型

列表遍历:
for item in ls:
<语句块>
元组遍历:
for item in tp:
<语句块>

#使用元组对某个数据进行保护
#程序之间的接口由元组类型的数据进行传递

6.3 基本统计值计算

获取多个数据:从控制台获取多个不确定数据
分隔多个函数:模块化设计
充分利用函数:充分使用python的内置函数

原文代码:

#获得输入
def getNum():
    nums = []
    iNumStr = input("请输入数字(回车退出):"</
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值