序列的应用

在数学里,序列也成为数列,是按照一定顺序排列的一列数,而在程序设计中,序列是一种常用的数据存储方式,几乎每一种程序设计语言都提供了类似的数据结构。例如,C语言或JAVA中的数组等。

在python中 序列是最基本的数据结构,它是一块用于存放多个值得连续内存空间。python中内置了5个常用的序列结构。分别是 列表,元组,字典,集合,字符串。

序列支持的几个通用操作

  1. 索引
  2. 切片
  3. 序列相加
  4. 乘法
  5. 检查某个元素是否是序列的成员
  6. 计算序列的长度,最大值,最小值

其中,字典和集合 不支持 索引,切片,相加和相乘(1.2.3.4);

4.1.1索引

序列中的每一个元素都有一个编号,也成为索引。这个索引是从0开始递增的。

version = ['春眠不觉晓','处处闻啼鸟','夜来风雨声','花落知多少']
print(version[-1])
print(version[0])

4.1.2切片

切片操作是访问序列中元素的另一种方法,它可以访问范围内的元素,通过切片操作可以生成一个新的序列。实现切片操作的语法格式如下:

sname[start:end:step]

sname:序列的名字

start:切片开始的位置,不指定,默认为0

end:切片结束的位置,不指定,默认为序列的长度

step:切片的步长,不指定,默认为1,当省略该步长时,最后一个冒号也可以省略。

version = ["s春眠不觉晓","处处闻啼鸟","夜来风雨声","花落知多少"]
print(version[1:4])
print(version[0:4:1])

4.1.3序列相加

在python 中,支持两种相同类型的序列相加操作,即将两个序列进行连接,不会去除重复的元素,使用+ 运算符实现

version = ["s春眠不觉晓","处处闻啼鸟","夜来风雨声","花落知多少"]

version1 = ['白日依山尽','黄河入海流','欲穷千里目','更上一层楼']
print(version+version1)

4.1.4 乘法

在python中,使用数字N乘以一个序列产生新的序列,新的序列内容为原来序列被重复N次的结果

version1 = ['白日依山尽','黄河入海流','欲穷千里目','更上一层楼']

print(version1*2)

4.1.5检查某个元素是否是序列的成员

在python中,可以使用in 关键字检查某个元素是否是序列的成员,即检查某个元素是否包含在某个序列中

语法:

value in sequence
version = ["s春眠不觉晓","处处闻啼鸟","夜来风雨声","花落知多少"]
mm= '处处闻啼鸟' in version
print(mm)
mm= '处处闻啼鸟' not in version
print(mm)

4.1.6计算序列的长度,最大值和最小值

len();max();min();

python 的几个内置函数

list():将序列转换为列表

str():将序列转换为字符串

sum():计算元素和

sorted():对元素进行排序

reversed():反向序列中的元素

enumerate()将序列组合为一个索引序列,多用在for循环中

4.2列表

4.2.1列表的创建和删除

1.使用赋值运算符直接创建列表

2.创建空列表

emptylist= []

3.创建数值列表

list()

4.删除列表:del listname

4.2.2 访问列表元素

4.2.3 遍历列表

1.直接使用for循环实现

for item in team:
    print(item)

2.使用for循环和enumerate()函数实现

version = ["s春眠不觉晓","处处闻啼鸟","夜来风雨声","花落知多少"]
for index,item in enumerate(version):
    print(item,index+1)

4.2.4添加,修改和删除列表元素

1添加

可以使用+ 运算符将两个列表连接

添加一个元素可以使用 append 

version = ["s春眠不觉晓","处处闻啼鸟","夜来风雨声","花落知多少"]
vv="作者是谁?"
version.append(vv)
print(version)

添加一个列表可以使用extend

version = ["s春眠不觉晓","处处闻啼鸟","夜来风雨声","花落知多少"]

version1 = ['白日依山尽','黄河入海流','欲穷千里目','更上一层楼']
version.extend(version1)
print(version)

2修改元素

修改其中的元素,只需要通过索引获取该元素,然后重新赋值即可

3删除元素

根据索引     删除 del

根据元素值 删除 listname.remove

4.2.5 对列表进行统计和计算

1.获取制定元素出现的次数

listname.count(obj)

2.获取指定元素首次出现的下标

listname.index(obj)

3.统计数值列表的元素和

sum(listname[,start])

4.2.6 对列表进行排序

1.使用列表对象的sort()方法

listname.sort(key = None ,reverse = False)

listname:表示要进行排序的列表

key:表示制定从每个元素中提取一个用于比较的键

reverse:可选参数,True为降序,False为升序,默认为升序

2.使用内置的sorted函数实现

4.2.7列表推导式

1生成指定范围的数值列表

list = [expression for var in range]

2根据列表生成指定需求的列表

newlist = [Expression for var in list]

3从列表中选择符合条件的元素组成新的列表

newlist = [Expression for var in list if condition]

4.2.8 二维列表的使用

1.直接定义二维列表

2.使用嵌套的for循环创建

3.使用列表推导式创建

4.3元组

4.3.1元组的创建和删除

1.使用赋值运算符直接创建元组

verse1 =("白日依山尽",)

2.创建空元组

emptytuple = ()

3.创建数值元组

tuple(range(10,20,2))

4.删除元组

del 

4.3.2 访问元组元素

同列表

4.3.3修改元组元素

元组是不可变序列,但是可以整个重新赋值,元组进行拼接时,不要忘记前一个元组最后一个元素后边的 ","

4.3.4元组推导式

同列表,只是将[]更改为()

4.3.5元组和列表的区别

元组和列表都属于序列,而且它们又都可以按照特定顺序存放一组元素,类型又不受限制

  1. 列表属于可变序列,它的元素可以随时更改或删除;元组属于不可变序列,其中额元素不可以更改,除非整体替换
  2. 列表可以使用append()、extend()、insert()、remove()和pop()等方法实现添加和修改列表元素,而元组没有这几个方法,所以不能向元组中添加和修改元素,
  3. 元组和列表都可以使用切片进行切片访问,但是列表可以修改但是元组不可以
  4. 元祖比列表的访问和处理速度快
  5. 列表不能作为字典的键,而元组可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值