文章目录
19.字符串切片 slice 操作
切片 slice 操作可以让我们快速的提取子字符串。标准格式为:
[起始偏移量start:终止偏移量end:步长 step]
典型操作(三个量为正数的情况)如下:
其他操作(三个量为负数)的情况:
切片操作 时,起始偏移量和终止偏移量不在
[0,字符串长度-1]
这个范围,也不会报错。起始 偏移量小于0
则会当做0
,终止偏移量大于“长度-1”
会被当成-1
。例如:
>>> "abcdefg"[3:50]
'defg'
我们发现正常输出了结果,没有报错。
【操作】
- 将
"to be or not to be"
字符串倒序输出 - 将
"iloveyouiloveyouiloveyou"
字符串中所有的y
输出
>>> "to be or not to be"[::-1] # 通过 步长 进行倒序
'eb ot ton ro eb ot'
>>> "iloveyouiloveyouiloveyou"[5::8] # 从索引 5 开始 。 步长为8 输出 所有的 字母 y
'yyy'
#############
>>> "iloveyouiloveyouiloveyou"[:]
# [:] 代表切片 切出 所有的字符
'iloveyouiloveyouiloveyou'
>>> "iloveyouiloveyouiloveyou"[::]
# [:] 也是一样的输出。 这两种方式 。 都是 新建了一个对象。 而不 改变原来的对象。 因为字符串是 不可变对象。
'iloveyouiloveyouiloveyou'
>>> "iloveyouiloveyouiloveyou"[1:]
# [1:] 代表切片 切出 1到后面所有的 字符
# 这样的话 索引位置 0 的 i 就被剔除了。
'loveyouiloveyouiloveyou'
>>> "iloveyouiloveyouiloveyou"[:-1] # 从开始 到 倒数第一个 字符。 切片 实行 包头 不包尾。 左开右闭原则
'iloveyouiloveyouiloveyo'