python中字符串 s[ : -4]是什么意思?字符串切片

img_list = 'neg.lst'
geter = GetImageSize(img_list)
geter.threaded(thread_num=32)
geter.save(img_list[:-4]+'_withsize.lst')

s[:-4]是什么?

这是字符串切片的意思。与列表和元组一样,字符串也是可迭代的,字符串可以粗略看作是字符列表。所以字符串也支持索引查找字符串中的每个字符,字符串也支持切片。

切片(slicing)可将一个可迭代对象中元素的子集,创建为一个新的可迭代对象。切片的语法是[ 可迭代对象 ] [ [ 起始索引:结束索引 ] ]。起始索引(start index)是开始切片的索引,结束索引(end index)是结束索引的位置。


s[index] —— 返回索引值为 index 的那个字符
s[start:] —— 返回从索引值为 start 开始一直到字符串末尾的所有字符
s[start:stop] —— 返回从索引值为 start 开始一直到索引值为 stop 的那个字符之前的所有字符
s[:stop] —— 返回从字符串开头一直到索引值为 stop 的那个字符之前的所有字符
s[start:stop:step] —— 返回从索引值为 start 开始一直到索引值为 stop 的那个字符之前的,以 step 为步长提取的所有字符
 

顺着数,字符串最开始第1个字符的索引是 0,然后往右是1、2、3、...

倒着数,字符串最尾巴(倒数第一)的字符的索引是 -1,然后往左是 -2、-3、-4、...

-1 代表字符串最后一个字符的索引。-2 是倒数第二个。

所以s[:-1]就等同于 从字符串的最开始(左包),到字符串的最末尾(右不包),所以就是全部文本去掉了最后一个字符。

 

 

 
 

链接:https://www.zhihu.com/question/22686450/answer/1280969665

posted @ 2022-03-21 14:49  Tomorrow1126  阅读(4544)  评论(0编辑  收藏  举报