首先:要说一下,[]可以用来提取,[:]是切片
在字符串名后面添加[],并在括号里指定偏移量可以提取该位置的单个字符。注意:第一个字符的偏移为0,下一个是1,以此类推。最后一个字符的偏移量可以使用-1来表示,这样就不必从头数到尾。偏移量从右向左紧接着为-2、-3,以此类推。注意:如果指定的字符串超过了字符串的长度,会得到一个错误提示:string index out of range.
再次注意:由于字符串不可修改,所以试图通过[]去修改字符串的行为是错误的。如果我们需要改变字符串,需要使用一些字符串函数,例如str.replace()。
分片操作可以从一个字符串抽取一个子字符串(字符串的一部分)。我们使用一对方括号,起始偏移量start,和终止偏移量end以及可选的步长step来定义一个分片。其中一些参数可以省略。分片将会得到start开始到end结束之前全部的字符。
l [:] 提取从开头到结尾的整个字符串;
l [start:] 提取从start开始到结尾的所有字符串;
l [:end] 从开头提取到end-1之间所有字符;
l [start:end] 从start提取到end-1;
l [start:end:step] 从start到end-1,每step个字符提取一个.
与之前一样,偏移量从左向右从0、1开始,依次增加;从右至左从-1、-2开始,依次减少。如果省略了start,分片会默认使用偏移量0(开头);如果省略了end,分结尾.片默认使用-1
注意: 分片中end的偏移量需要比实际提取的最后一个字符的偏移量多1