1. 字符串的索引

字符串的索引从前往后是从0开始计数,从后往前是从-1开始依次 -1

2.字符串切片方法

    语法格式 str[beginIndex:endIndex:step]
    取值结果: [begin,end) / 含头不含尾

步长不设置时默认为1

3.切片

① 取x-y位置的字符串: 从中间开始,中间结束

因为字符串的索引是从0开始,索引如果要取到x-y位置的字符串,那么开始的索引就是x-1

字符串切片时切片的结果是含头不含尾,那么结束的索引就是y(索引从0开始)

str1 = 'this is uesd to test substring'

# 1.取某个位置到某个位置的值 从中间开始,中间结束
print("从str1中取第四个到第五个字符,结果:", str1[3:5])

② 取x-y位置的字符串: 取到最后一位

如果知道字符串的长度时,可以直接指定字符串的长度,然后得到结果

如果不知道字符串的长度,也可以直接不填[x-1:] 来获得取值结果

# 2.取某个位置到某个位置的值 取到结尾
print("从str1中取第二个到第最后一个字符,结果:", str1[1:len(str1)])
print("从str1中取第二个到第最后一个字符,结果:", str1[1:])

③ 取x-y位置的字符串: 从头开始

从头开始取同取到最后一位,如果beginIndex直接不填  [:y] ,就是从第一位开始

或者beginIndex位置填0

# 3.取某个位置到某个位置的值 从头开始
print("从str1中取第一个到第三个字符,结果:", str1[0:3])
print("从str1中取第一个到第三个字符,结果:", str1[:3])

④ 取某个字符串 从头到尾

# 4.取某个字符串 从头到尾
print("从str1中取从头到尾的数值,结果:", str1[0:])
print("从str1中取从头到尾的数值,结果:", str1[:])

⑤ 取某个字符串 中间隔一位取值

切片-步长取值的顺序为 : 

1)获取开始索引位置的值

2)按照步长取得下一位值,直到结束

如果想隔一位,将步长设置成2即可

# 5.隔一个字符取值
print("从str1中取从头到尾的数值", str1[::])
print("从str1中取从头到尾的数值,中间跳1个字符,结果:", str1[::2])

⑥ 倒序取值

同第五步,只需要将开始的值设置成最后一位,结束的值设置成第一位即可

因为取值结果含头不含尾,此时结束的值不能设置为0,需要设置为空才能取到最后一个值,开始的值可以设置为-1

# 6.从后开始往前取值
print("str1字符串反转,结果:", str1[::-1])
print("str1字符串反转,结果:", str1[-1::-1])

⑦  从后开始往前取值,中间隔一个字符

同第六步,只需要将步长设置为-2即可

# 7.从后开始往前取值,隔一个字符
print("str1从后开始往前取值,隔一个字符,结果:", str1[-1::-2])
print("str1从后开始往前取值,隔一个字符,结果:", str1[::-2])

⑧ 得到某个位置的值

可以从前,也可以从后取

# 8.取从头开始计算某个字符的值
print("str1的第五个字符", str1[4])
# 9.取从尾开始计算某个字符的值
print("str1的倒数第三个字符", str1[-3])

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐