作者:风行天下的石头_467 | 来源:互联网 | 2023-07-27 14:24
字符串截取的语法格式为:
变量[头下标:尾下标]
实例如下:
str = 'Runoob’
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次
print (str + "TEST") # 连接字符串
运行结果如下:
str='runoob'
>>> print(str)
runoob
>>> str[0:5]
'runoo'
>>> str[-7:0]
''
>>> str[-6:0]
'' #Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始;此处应将0改为-1。
>>> str[1:6]
'unoob'
>>> str[0:6]
'runoob' #问题一:该字符串长度为6,若从0开始计数,尾下标不应该是5,而非6吗?
>>> str[-1:-6]
'' #无效下标,无输出
>>> str[-2:-1]
'o'
>>> str[-5:-1]
'unoo'
>>> str[-6:-1]
'runoo'
>>> str[-7:-1]
'runoo' #问题二:将0改为-1以后,扩大头下标的范围还是无法完整显示该字符串;若从右往左索引,完整输出的边界是多少?
问题一:该字符串长度为6,若从0开始计数,尾下标不应该是5,而非6吗?
问题二:将0改为-1以后,扩大头下标的范围还是无法完整显示该字符串;若从右往左索引,完整输出的边界是多少?
作为一个python3的初学者,实在是不太清楚python3中利用下标完整输出字符串的边界值;是python3这方面的边界本身就不清晰吗?求解答
8 个解决方案
一:尾下标不管是几,切片后都不包括这个下标位置的值,但前提是起止位置信息都可见
二:边界就是无,即str[-7:],从右往左数最大的是-6,所以-7以及-7前的位置都是不可见的
切片就是从数组中取出部分数据,没有什么多不多余的位置,你尾下标,都可以是100,1000,10000
你runoob六个字符,从左往右取,必须str[0,6],最后位置是6也可以是大于6的任何数,但它只切到字符串的最大位置5,因为不包括6,如果是str[0:5]那不包括5只取到了0-4的字符即runoo。另外也可以str[::]取所有字符
二、从右往左数下标是从-1即b开始,所以数到r时是-6,我说的最大是r(-6)离b(-1)的距离最大,至于-7,-8.....-1000都可以,但只取到-6,因为-7.-8....之后都是不可见的
python这个一直是这样的吧,记得含头不含尾,如果从头或者从尾算起可以省略不用写
就差不多了
为了切片操作这事儿哥专门写了一篇文章,你自己看看吧如果能全面理解掌握了,Python切片操作就没问题了。
全面深入彻底理解Python切片操作【原创】
http://blog.csdn.net/xpresslink/article/details/77727507