序列切片
切片 :切片就是指对操作对象 截取 其中一部分的操作. 字符串,列表,元祖(有序序列)都支持切片操作.
基本语法:
顾头不顾尾
序列名称[开始位置下标:结束位置下标:步长(步阶)]
numstr = '0123456789'
numstr[0:3:1] # 012 => range方法非常类似,步长:每次前进1步
numstr[0:3:2] # 02 => 每次前进2步
步长可以为负数,正数代表从左向右截取,负数代表从右向左截取
- 不包含结束位置下标对应的数据, 正负整数均可;
- 步长是选取间隔,正负整数均可,正数从左向右,负数从右向左。默认步长为1。

栗子:
numstr = '0123456789'
# 1、从2到5开始切片,步长为1
print(numstr[2:5:1])
print(numstr[2:5])
# 2、只有结尾的字符串切片:代表从索引为0开始,截取到结尾字符-1的位置
print(numstr[:5])
# 3、只有开头的字符串切片:代表从起始位置开始,已知截取到字符串的结尾
print(numstr[1:])
# 4、获取或拷贝整个字符串
print(numstr[:])
# 5、调整步阶:类似求偶数
print(numstr[::2])
# 6、把步阶设置为负整数:类似字符串翻转
print(numstr[::-1])
# 7、起始位置与结束位置都是负数
print(numstr[-4:-1])
# 8、结束字符为负数,如截取012345678
print(numstr[:-1])
输出:
234
234
01234
123456789
0123456789
02468
9876543210
678
012345678
栗子

栗子
给定一个图片的名称为"avatar.png",使用Python方法获取这个图片的名称(avatar)以及这个图片的后缀(.png)。
分析:
① 建议先获取点号的位置
② 从开头切片到点号位置,得到的就是文件的名称
③ 从点号开始切片,一直到文件的结尾,则得到的就是文件的后缀
filename = 'avatar.png'
# 获取点号的索引下标
index = 6
# 使用切片截取文件的文件
name = filename[:index]
print(f'上传文件的名称:{name}')
# 使用切片截取文件的后缀
postfix = filename[index:]
print(f'上传文件的后缀:{postfix}')
# 字符串find方法
# 作用:检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。
filename = input('请输入您要上传文件的名称:')
# 获取点号的索引下标
index = filename.find('.')
print(index)
# 求文件名称
print(filename[:index])
# 求文件后缀
print(filename[index:])
本文介绍了Python中的序列切片,适用于字符串、列表和元组等有序序列。切片可以截取序列的一部分,基本语法包括指定开始和结束位置以及步长。通过实例解析如何利用切片获取文件名和后缀,例如从'avatar.png'中提取'avatar'和'.png'。
635

被折叠的 条评论
为什么被折叠?



