从1,2,3,4,5这个序列取出一个子序列2,3,4,这个操作就是切片
注意:此操作不会影响序列本身,而是会得到一个新的序列,字符串,元组,这是因为元组和字符串是不支持修改的.
对序列进行切片
""" 演示对序列进行切片操作 """ #对list进行切片,从1开始,4结束,步长为1,打印结果不包含最后一位 my_list=[0,1,2,3,4,5,6] result1 =my_list[1:4]#步长为1可以省略,1为默认,可以用result1接收切片后的结果 print(f"结果1:{result1}")#打印结果为123,不包含4,打印结果不包含最后一个
对元组进行切片
#对tuple进行切片,从头开始,到最后结束,步长为1 my_tuple=(0,1,2,3,4,5,6) result2=my_tuple[:]#起始和结束不写表示从头到尾,步长为1也可以省略,注意步长为0,0后面的冒号也可以省略 print(f"结果2:{result2}")
对字符串进行切片
#对str进行切片,从头开始,到最后结束,步长为2 my_str="01234567" result3=my_str[::2]#步长是2,前面冒号不可以省略 print(f"结果3:{result3}")
#对str进行切片,从头开始,到最后结束,步长为-1 my_str="01234567" result4=my_str[::-1]#步长是2,前面冒号不可以省略 print(f"结果3:{result4}")
对列表进行倒序切片
#对列表进行切片,从3开始,到1结束,步长为-1 my_list=[0,1,2,3,4,5,6] result5=my_list[3:1:-1] print(f"结果5:{result5}")
对元组进行倒序切片
#对元组进行切片,从头开始,到尾结束,步长-2 my_tuple=(0,1,2,3,4,5,6) result6=my_tuple[::-2] print(f"结果6:{result6}")
练习案例:序列切片实践
有字符串:"跟着safe network access,断不习学来,nohtyP学"
请用学过的任何方式,得到"学习不断"
提示:1,倒序字符串,切片取出或切片取出,然后倒序
2.split分隔,replace替换"来"为空,倒序字符串
""" 演示序列的切片的课后练习 """ my_str ="跟着safe network access,断不习学来,nohtyP学" #将整体字符串倒序,切片取出,而后查一下正着数学习不断的序号,9到13结束 result1=my_str[::-1][9:13]#从头到尾遍历,从-1开始取,从9开始到14结束,用result1接收这个结果 print(f"方式1结果:{result1}")
#先按序列中的将关键词即"不断学习"取出来,而后将其倒序 my_str ="跟着safe network access,断不习学来,nohtyP学" #从22取到26,而后将其倒序按-1取出 result2=my_str[22:26][::-1] print(f"方式2结果:{result2}")
#split分隔,以“,”进行分隔replace替换“来”为空,倒序字符串 my_str ="跟着safe network access,断不习学来,nohtyP学" result3=my_str.split(",")[1].replace("来","")[::-1] #这个结果是一个列表,其中断不习学来序列号是1,而后替换来字为空,最后再倒序一下 print(f"方式3结果:{result3}")