python的切片详解

本文深入解析Python切片操作,涵盖list、tuple、string等数据类型,详细讲解切片参数start、end、step的使用,包括正序、倒序切片及超界处理,适合初学者快速掌握。

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

什么是切片

顾名思义,切片做的事情在已知的数据上取出想要的部分。切片是在可迭代对象的基础上,取出任意长度的元素,同时取得范围、频次也是可以自定义的
切片是取操作,不改变原值

哪些类型的数据支持进行切片操作

list,tuple,string 可迭代对象都支持切片的操作。
本文主要以list类型为代表进行实例讲解。

切片的操作参数详解

【start: end: step】
切片的start 和end 中指的是索引,step指的是间隔。

    1.  start和end可以是任意值,即可以超出下标 ,超出下标后不报错,切的值为空。
    2. 切值返回的类型同样受到原值的影响。
       即如果在tuple上进行,返回的切片内容由()  进行包围。
list1=[0,1,2,3,4,5,6]

one=list1[ 8:100]
print("切片超出下标范围取值为:%s"%one)  切片超出下标范围取值为:[]

进行第一个切片操作

    1.  [0,1] 切的是第一个元素,和其他一样包含头部,不包含尾部。
    2. 在这个切片操作过程中,step为空时,代表这个参数值为1,同时它有2层含义。
        1.切片的过程为正序,需要满足start<end
        2.切片的间隔为1,顺序执行。
list1=[0,1,2,3,4,5,6]

one=list1[ 0:1]
print("切片第一个元素【0:1】%s"%one)  #切片第一个元素【0:1[0]

什么是正序切片?

 切片的正序需满足start的位置在end位置的左边。
 下面是除了正数到正数外的满足正序的其他方式切片。
list1=[0,1,2,3,4,5,6]

two=list1[3:-1]
print("切片正序实现从正数数到负数的切%s"%two)
#切片从正数到负数的切[34, 5]
list1=[0,1,2,3,4,5,6]

two=list1[-3:-1]
print("切片正序实现从负数到负数的切%s"%two)
#切片从负数到负数的切[4, 5]
list1=[0,1,2,3,4,5,6]

two=list1[-6:5]
print("切片正序实现从负数到负数的切%s"%two)
#切片从正数到负数的切[1, 2, 3, 4]

什么是倒序切片?

 切片的倒序需满足start的位置在end位置的右边。
 留给大家一个练习,怎样进行一个倒序的切片。

```python
   
 补充倒序切片:   
ll=[0,1,2,3,4,5,6,7,8,9]
print(ll[-1:3])      结果 :[]       
print(ll[-1:3:-1])    结果:[9, 8, 7, 6, 5, 4]
print(ll[-1:3:-2])    结果:[9, 7, 5]

     

**

解析: 首先从第一个参数和第二个参数来说,他们分别代表可迭代对象的右边界和左边界。对应列表中的数字9,4;
关键是第三个参数step。必须要求这个数为负数,然后从右到左开始进行取值。如果为正数时,取到的是一个空列表

**


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值