1.序列
- 序列是一个用于存储多个值的连续空间,每个值都对应一个整数编号,称为索引。
文章图片
- 序列结构主要有列表、元组、集合、字典和字符串
- 正向递增索引,取值范围[0,N-1]
- 反向递减索引,取值范围[-1,-N]
文章图片
下面我们用索引遍历一下字符串序列
s="helloworld"# 正向递增索引
for i in range(0,len(s)):
print(s[i])print("------------------------")
# 反向递减索引
for i in range(-10,0):
print(i,s[i])
3.序列的相关操作——切片操作 什么是切片
从列表中切出来多个元素,并将取得元素存入新列表,这叫做列表切片
语法结构
序列[start : end : step]
参数说明
- start:表示切片开始的位置(包括开始位置),如果不指定,默认为0
- end:表示切片结束位置(不包括结束位置),如果不指定,默认为序列长度
- step:表示步长,如果省略,默认为1,当省略步长时,最后一个:可以省略
s="helloworld"
# 索引从0开始,到5结束,步长为1# 省略开始位置start,默认从0开始,但一定要写前面的:# 省略开始位置,省略步长step前面的:一定要写,后面的:可以不写# 省略结束位置# 省略结束位置和步长# 更换一下步长,从0开始,到5结束(不包含5),步长为2# 省略开始位置和结束位置,只写步长# 步长可以为负数# 还可以省略开始位置,结束位置以及步长,但是一定要写上一个:,这个:是开始位置和结束位置中间的,省略步长时,它前面的:可以省略,因此,我们可以只写一个:
s="helloworld"# 索引从0开始,到5结束,步长为1
s1=s[0:5:1]
print(s1)# 省略开始位置start,默认从0开始,但一定要写前面的:
print(s[:5:1])# 省略开始位置,省略步长step前面的:一定要写,后面的:可以不写
print(s[:5])# 省略结束位置
print(s[0::1])# 省略结束位置和步长
print(s[5:])# 更换一下步长,从0开始,到5结束(不包含5),步长为2
print(s[0:5:2])# 省略开始位置和结束位置,只写步长
print(s[::2])
# 步长可以为负数
print(s[::-1])# 还可以省略开始位置,结束位置以及步长,但是一定要写上一个:,这个:是开始位置和结束位置中间的,省略步长时,它前面的:可以省略,因此,我们可以只写一个:
print(s[:])
练习题
对于以下代码,描述正确的是:
list = ['1', '2', '3', '4', '5']
print list[10:]A.导致 IndexError
B.输出['1', '2', '3', '4', '5']
C.编译错误
D.输出[]
【python|Python序列以及切片操作】正确答案:D
- 切片操作索引越界不会导致IndexError,只是返回一个空序列,即元组返回空元组(),列表返回空列表[],字典返回空字典{}。
推荐阅读
- vuejs|基于Flask + Vue前后端分离的资产管理系统实现
- flask框架快速入门|【flask高级】从源码深入理解flask的应用上下文和请求上下文
- FDTD学习笔记|Lumerical官方案例、FDTD时域有限差分法仿真学习(十五)——y分支的逆向设计(Inverse design of y-branch)
- 机器视觉|机器视觉系列(一)——概述
- python|LeetCode 括号生成
- 笔记|解决ModularNotFoundError: No module named “cv2.aruco“
- 笔记|解决pip3 install numpy时ReadTimeoutError
- 机器学习和深度学习|YOLOV5实战(pycharm)-以口罩检测为例
- 人工智能|人工智能-深度学习-手写数字识别