Python中的切片(Slice)操作详解

本文深入探讨Python的切片操作,包括列表、元组和字符串的切片,详细解释了切片的语法和各种情况下的应用实例,如正负索引、步长设置等。通过实例解析连续切片、三参数表达式计算以及在数据插入、修改、替换和复制中的应用。切片操作是提高Python编程效率的重要技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

大家好,这里是果力成,话不多说,学之!
在python学习开发的过程中,我们难免会遇到从某个对象中抽取部分值的情况,对这种经常取指定索引的范围的操作,如果你使用循环的话是可以解决的,但是相对更好的方法而言,此操作是相当繁琐和费事的。
python中的 切片操作
正是专门用于完成这一操作的便捷有力方法.


切片的索引方式

Python可切片对象的索引方式包括:正索引和负索引。
如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:
    ------>从左向右         从右向左<------

正索引 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,9
负索引 -10, -9,-8,-7,-6,-5,-4,-3,-2,-1
(起点)0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,9(终点)

Python列表切片

Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。
切片操作基本表达式:
object[start_index : end_index : step]

切片表达式包含两个":" ,用于分隔三个参数(start_index、end_index、step),当只有一个":"时,默认第三个参数step=1。

start_index:表示起始索引(包含该索引本身);该参数省略时,表示从对象’端点’开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。

end_index:表示终止索引(不包含该索引本身);该参数省略时,表示一直取到数据’端点’,至于是到’起点’还是到’终点’,同样由step参数的正负决定,step为正时直到’终点’,为负时直到’起点’。

step:(步长) , 正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,step为正表示“从左往右”取值,step为负表示“从右往左”取值。当step省略时,默认为1,即从左往右以增量1取值。
tips:切取方向非常重要~


列表(list)切片操作详例

注意看代码语句后的注释理解
以下示例均以list列表 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1.切取列表单个值
print(a[1])
print(a[-3])

output: 1
     7 


2.切取列表完整对象
print(a[:])         # 从左往右
print(a[: :])       # 从左往右
print(a[: : -1])    # 从右往左

output:


3.start_index和end_index都为正(+)索引
print(a[1:6])	
# step=1,从左往右取值,start_index=1到end_index=6同样表示从左往右取值。

output : [1, 2, 3, 4, 5]

print(a[1:
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果力成°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值