切片基础知识

一、切片含义

1.切片(slice)是对序列型对象的一种高级索引方法。python中是用来切割可迭代对象(容器)

2.切片对象:列表list, 字符串string, 元组tuple,range函数等

二、形式

一个完整的切片有三个参数

object[start:end:step]

1.object是变量名

2.start、end代表下标,不是具体值

3.step:步长。默认取值是1,可以取负数。默认方向是从左往右,正数也代表从左往右,负数代表从右往左

4.特点:与range(参数1,参数2,step)函数相似(参数个数、取值范围),但range函数参数是具体值,而不是下标,与切片不同

三、用法

1、object[start:]:从start切割到结束位置(为最末端),包含最末端,方向是从左往右

2、object[start:end]:从start切割到end结束,不包含end(前闭后开),方向从左往右

3、object[start:end:step]:以step为单位从start切割到end结束不包含end(前闭后开)

注:object[start:end]和range(参数1,参数2)区间均为[ , )前闭后开

四、特例

1.反向切割:name[::-1]

2.自相矛盾体

        2.1 name[1:6:-1]start = 1,end = 6 表示切片从左往右,step = -1 为负数,表示从右往左,切片产生矛盾,结果为空[ ],但不会产生错误

        2.2name[6:1:1]和name[6:1]效果相同,结果均为[ ]

        2.3 name[6:1]和name[6:1:1]都表示从右往左切片,step默认值为1,所以效果相同

        总结:(1)start > end 表示从从左往右,start < end 表示从右往左

                   (2)step > 0 表示从左往右,step < 0 表示从右往左

                   (3)前两条不能相互违背,不然结果为空[ ]。当start和end表示从左到右,那么end也必须为正数;当start和end表示从右到左,那么end也必须为负数

3.取奇数位、偶数位

奇数位:[1::2]
偶数位:[::2]

五、连续切片

形式:name[start:end:step][start:end:step]

理解:将name按第一个切片切割,切割后的结果,再按第二个切片切割 

例:

t = (0,1,2,3,4,5,6,7,8,9)
print(t[1:8][-1:-5:-1])

六、切片三个参数可为表达式

 七、注意

  1. 切片时,超越小标不会报错,还会继续执行
  2. 切片时,参数取值相互矛盾,不会报错,会返回空列表[ ]
  3. 在python中实现反向列表输出的方法:

       (1)循环  (2)list.reverse()  (3)切片[::-1]

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值