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://img2022.cnblogs.com/blog/1766866/202203/1766866-20220321144910430-261022375.png)
链接:https://www.zhihu.com/question/22686450/answer/1280969665