关于切片的使用

84 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情

切片的操作,有必要给大家做一个深刻的演练。

是python当中非常重要的一个特性,在其他语言当中是没有的。

我们先输出一个完整的字符串

strMsg='hello world'
# slice [start:end:step]
print(strMsg)   # 输出完整的数据

image.png

1.取第一个数据

如果取第一个数据的话,我们知道是可以直接用那个下标

strMsg='hello world'
# slice [start:end:step]

# print(strMsg)   # 输出完整的数据
# print(strMsg[0])

image.png

2.取第三个到第五个之间的数据

我现在要输出字符串中第三个到第五个之间的数据,现在要重复发挥切片的一个特性,取部分数据。

strMsg='hello world'
# slice [start:end:step]  左闭右开

print(strMsg[2:5]) #2-5 下标之间的数据

image.png 结果是llo且不包含空格,01{234}5,说明5这个下标是不包含的。

所以这里非常关键的一点是,start是包含,end是不包含,也就是说左闭右开。右开的意思是end,是不包含。也就是它的值应该是start > = value < end范围

3.从第三个字符开始取到最后

如果说我想从第三个字符开始取一直取到最后,从2一直取到最后怎么做

我们可以不给它限定范围,end值不给

strMsg='hello world'
print(strMsg[2:])  #第三个字符到最后

image.png 运行后看到结果,数据取到最后了

也就是说中间的可以取,指定一个范围也可以取,指定一个头然后尾不包含也可以取。

我们可以看到step默认就是1,逐步的去取非常的方便。

4.取第一个到第三个数据

那要是我想输出第一个到第三个字符串,应该怎么写

strMsg='hello world'
print(strMsg[0:3])  #1-3

image.png

这里如果是0的话,是可以省略掉的。

strMsg='hello world'
print(strMsg[:3])  #1-3   strMrg[0:3]=strMsg[:3]

image.png 结果是一样的

5.倒叙输出

倒叙输出怎么操作

我们加个负号(-)就可以了

strMsg='hello world'
print(strMsg[::-1])  # 倒序输出 负号表示方向 从右边往左去遍历

image.png 负号代表方向,从右往左