对python中切片详解

Python中什么可以切片

  • Python中符合序列的有序序列都支持切片(slice)
  • 如:列表,字符,元祖

Python中切片的格式

  • 格式:[start : end : step]
  • Start:起始索引,从0开始,-1表示结束
  • End:结束索引
  • Step:步长
  • end-start=正数时,从左向右取值,=负数时反向取值
  • 注意:切片结果不包含结束索引,即不包含最后一位,-1代表最后一个位置索引

常用的几种方式:

  • [:] 如:list2=list1[:] 全部截取
  • [0:1:n] 如:list1[0:3;1] 从0开始到3每次增加1截取,不包含索引结束位置
  • [0:-1:1]:从0开始到结束,每次增加1,截取不包含索引结束位置
  • [:3]:默认从起始位置索引,每次增加1截取,结束位置索引为3
  • [3:0:-1]反向取值,每次增加1截取,不包含索引结束位置

直接看例子会更直观一些

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
list1 = ['ji','yan','jiao']
list2 = list1[:]
print('list1[:] 打印出的结果为:',list2)
'''
打印结果:
list1[:] 打印出的结果为: ['ji', 'yan', 'jiao']
'''
list1 = ['ji','yan','jiao']
list3 = list1[0:1:1]
list3_1 = list1[0:2:1]
list3_2 = list1[0:2:2]
list3_2_1 = list1[0:3:2]
list3_3 = list1[0:-1:1]
print('list1[0:1:1] 打印的结果为:',list3)
print('list1[0:2:1] 打印的结果为:',list3_1)
print('list1[0:2:2] 打印的结果为:',list3_2)
print('list1[0:3:2] 打印的结果为:',list3_2_1)
print('list1[0:-1:1] 打印的结果为:',list3_3)
'''
打印结果:
list1[0:1:1] 打印的结果为: ['ji']
list1[0:2:1] 打印的结果为: ['ji', 'yan']
list1[0:2:2] 打印的结果为: ['ji']
list1[0:3:2] 打印的结果为: ['ji', 'jiao']
list1[0:-1:1] 打印的结果为: ['ji', 'yan']
'''

list1 = ['ji','yan','jiao']
list4 = list1[:2]
list4_1 = list1[:3]
print(' list1[:2]打印结果为:',list4)
print(' list1[:3]打印结果为:',list4_1)
'''
打印结果:
list1[:2]打印结果为: ['ji', 'yan']
list1[:3]打印结果为: ['ji', 'yan', 'jiao']
'''
list1 = ['ji','yan','jiao']
list5 = list1[2:0:-1]
list5_1 = list1[2:0:-2]
print(' list1[2:0:-1]打印结果为:',list5)
print(' list1[2:0:-2]打印结果为:',list5_1)
'''
打印结果:
 list1[2:0:-1]打印结果为: ['jiao', 'yan']
 list1[2:0:-2]打印结果为: ['jiao']
'''
posted @ 2022-10-07 20:27  I'm_江河湖海  阅读(16)  评论(0编辑  收藏  举报