Summary
切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。
使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。
# 格式
[start:end:step]
# 起始偏移量:start
# 终止偏移量:end
# 可选步长:step
[:] # 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
[start:] # 从 start 提取到结尾
[:end] # 从开头提取到 end
[start:end] # 从 start 提取到 end
[start:end:step] # 从 start 提取到 end,每 step 个字符提取 1 个
# 左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1
# 当步长设置为负数时,表示从右向左取字符串,步长的绝对值大于1表示间隔的取数
# 当步长设置为负数时,开始的部分那个截取下标也要从负数计算,或者start必须大于结束的下标,因为它是从右开始的截取的
Examples
num_str = '0123456789'
print(num_str)
# Computationary Results
0123456789
print(num_str[:], num_str[0:3], num_str[0:-1], num_str[0:-2], num_str[3:-3])
# Computationary Results
0123456789 012 012345678 01234567 3456
print(num_str[0:], num_str[1:], num_str[2:], num_str[-1:], num_str[-2:])
# Computationary Results
0123456789 123456789 23456789 9 89
print(num_str[::2], num_str[1:5:2], num_str[::3])
# Computationary Results
02468 13 0369
print(num_str[::-2], '*****', num_str[1:5:-2], '*****', num_str[::-3])
# Computationary Results
97531 ***** ***** 9630
print(num_str[::-1])
# Computationary Results
9876543210