下图为 http://www.runoob.com/python3/python3-data-type.html 学习教程的例子,说明了Python字符串的截取规则: 变量[头下标:尾下标]

注意:实际Python字符串截取的规则为“前闭后开”

下面开始解读截取原理:

如上图所示,Python索引有两种方式,从左往右为从0开始逐一递增,从右往左为从-1开始逐一递减;

如上图所示,从左往右,0==>5索引依次对应的字母为:R,u,n,o,o,b

从右往左,-1==>-6索 引依次对应的字母为:b,o,o,n,u,R

先来几个简单的:

如上图所示:当我们print(str[0],str[1],str[2])时输出的是R,u,n,但实际在print(str[0,2])时却只有Ru,这是巧合吗?没有n?

答案是否定的,当我们print(str[2],str[3],str[4],str[5])时输出的是n,o,o,b,但实际在print(str[2,5])时却只有noo

同理再从右往左看,print(str[-6:-4])输出Ru,print(str[-4:-1])输出noo

所以:字符串[头下标,尾下标]是前闭后开的

来个复杂的:

其实也并不是很难,只需要牢牢地把下图的索引规则记住,并结合“前闭后开”就可以了

索引0和索引-6对应,索引-1和索引5对应,str[0:-1]和str[0:5]、str[-6:-1]是一个意思