python之索引和切片
在Python中,所有的字符串都是由其单个的字符排列组合起来的。
比如【Python】就是有p,y,t,h,o,n排列起来的。
字符串中的某一个字符一换,就变成一个了新的字符串。
字符串中的顺序一换,也变成了一个新字符串。
在Python中,这种对象类型,统称为序列,即有序排列。
索引和切片
索引
索引
序列上的每一个字符都对应一个编号,这些编号叫索引。
python中的编号排序是从0开始的,以自然数排列的,其中的空格也算一位。
例如
>>>lang = "study python" lang[0] 's' >>>lang[1] 't'
通过赋值变量,让变量lang来指向那个字符串。
这这个lang的指向变量,也可以这样写。
>>>"study python"[0] 's'
效果是一样的,只是后面再指向需要把字符串写全,所以赋值给lang变量比较方便。
也可以通过字符找到其所对应的索引值。
如下
>>>lang = "study python" lang.index("h") 9
切片
切片
从序列中提取从第几位到第几位所对应的字符。
如下:
>>>lang = "study python" >>>lang 'studuy python' >>>lang[2:8] #在前面“切“了若干的字符之后 'udy py'
我们得到的是序号分别对应着2,3,4,5,6,7(包括空格所对应的一位)位的字符。
能够得到的是开始需要的以及最后一个序号之前所对应的字符。简单说就是:包括开头,不包括结尾。
上述操作,我们称之为切片,即从一段序列中截取第n位到(k-1)位所对应的字符。
在获取切片时,如果分号的前面或者后面的序号不写,就表示是到最末或者是第0个开始。
如下
规则
1.要得到从第n位到最末尾的字符,符号后面的序号不用写。
【lang[n:]】
2.要得到所有字符,直接用一个分号
【[:]】
3.得到从0个字符到(n-1)个字符。
【[:n]】
>>>lang = 'study python' a = lang[2:]#得到从2号到最末尾的字符,这时候最后那个不用写。 b = lang[:]#得到所有字符 c = lang[:10]#得到从第0位到第9位的字符 >>>a 'udy python' >>>b 'study python' >>>c 'study pyt'
切片的多种方式