python切片详解_Python语言之详解切片

本篇文章主要讲述Python语言之详解切片,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

727C.png

切片操作就是对list,元组,字符串进行截取操作有了切片操作,很多地方循环就不再需要了Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作

使用示例:

List切片L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']

正序切片

print(L[0:3]) #输出:['Michael', 'Sarah', 'Tracy']

#L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素    print(L[1:3]) #输出:['Sarah', 'Tracy'], 也可以从索引1开始,取出2个元素出来

倒序切片

print(L[-2:-1]) #输出:['Bob']

#倒数第一个元素的索引是-1,因为第二个索引是不包括的,所以Jack是不会被输出的

省略索引print(L[:3]) #输出:['Michael', 'Sarah', 'Tracy'], 如果第一个索引是0,还可以省略,实际执行L[0:3]

print(L[2:]) #输出:['Tracy', 'Bob', 'Jack']

#实际执行L[2:len(L)+1],注意不是L[2:-1]

print(L[-2:]) #输出:['Bob', 'Jack'], 实际执行L[-2:len(L)+1]

print(L[:-2]) #输出:['Michael', 'Sarah', 'Tracy'], 实际执行L[0:-2]

#切片的开始索引省略,则默认是0

#切片的结束索引省略,则默认是len(list)+1

其他常用例L = list(range(100))

print(L[:10]) #输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 前10个数

print(L[-10:]) #输出:[90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 后10个数

print(L[10:20]) #输出:[10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 前11-20个数

print(L[:10:2]) #输出:[0, 2, 4, 6, 8], 前10个数,每两个取一个

print(L[::5]) #输出:[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95], 所有数,每5个取一个

print(L[:]) #输出:[0, 1, 2, 3, ..., 99], 什么都不写,只写[:]就可以原样复制一个list

元组切片

tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tupleprint((0, 1, 2, 3, 4, 5)[:3]) #输出:(0, 1, 2)

字符串切片

字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串    在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片    Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单print('ABCDEFG'[:3]) #输出:'ABC'

print('ABCDEFG'[::2]) #输出:'ACEG'

本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值