python字串切片
- 截取右边3位
s="abcdefg"result=s[-3:]print(result)# 输出 efg说明:
s[-3:] 表示从倒数第 3 个字符开始,一直到字符串末尾。
如果字符串长度不足 3,Python 不会报错,而是返回整个字符串:
s="ab"print(s[-3:])输出:
ab
如果想去掉右边 3 位,则使用:
s="abcdefg"result=s[:-3]print(result)输出:
abcd
总结:
操作 写法
取右边 3 位 s[-3:]
去掉右边 3 位 s[:-3]
- 截取字符串左边 3 位
s="abcdefg"result=s[:3]print(result)输出:
abc
说明:
s[:3] 表示从索引 0 开始,到索引 3 之前结束(不包含索引 3)。
如果字符串长度不足 3,也不会报错:
s="ab"print(s[:3])输出:
ab
如果想去掉左边 3 位,则使用:
s="abcdefg"result=s[3:]print(result)输出:
defg
总结:
操作 写法
取左边 3 位 s[:3]
去掉左边 3 位 s[3:]
取右边 3 位 s[-3:]
去掉右边 3 位 s[:-3]
- 截取中间从第3位起长度为4的内容
如果要从第 3 位开始,截取长度为 4 的内容,需要先明确“第 3 位”是按人们习惯的第 1、2、3 位(即索引 2)来数。
例如:
s="abcdefghij"result=s[2:6]print(result)输出:
cdef
解释:
第 3 位字符是 c(索引为 2)
长度为 4,所以结束位置是 2 + 4 = 6
切片写法:s[开始索引 : 开始索引 + 长度]
通用公式:
start_pos = 3 # 第3位(从1开始计数)
length = 4
result = s[start_pos - 1 : start_pos - 1 + length]
如果你说的“第 3 位”是按 Python 索引(从 0 开始)计算,那么写法是:
result = s[3:7]
得到:
defg
因此要注意:
计数方式 写法 结果
第3位(人类习惯,从1开始)长度4 s[2:6] cdef
索引3(Python从0开始)长度4 s[3:7] defg
