python如何截取字符串中的特定字符_python字符串转列表

python如何截取字符串中的特定字符_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...

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

下面开始解读截取原理:

2357ff2c8a4f52b2e438e933ab55e7a9.png

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

0976b0af95d5b888afd4ea90d3b54e17.png

674d487f6d2b8d8d5d788b8fc64a1d5b.png

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

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

先来几个简单的:

00d09ac58d60d915561ee8fc2b080224.png

4cfe8286dd1caa0cd539fc8f307ef2fa.png

如上图所示:当我们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

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

来个复杂的:

74f0ee42f7888033b79e0099ca41f4ac.png

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

8603e28a0b2891b9adf32817de2e874b.png

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

3639dd225e960b1a448c9b3c06e1592e.png

本文来源Gary Wozniak,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/209269
0

发表评论