索引与切片都是用于获取字符串信息,使用方括号 [] 获取字符串中一个或多个字符。索引用于获取单个字符串,切片用于获取一段字符串,下面我分别对这两种类型进行解读,其中切片部分我将它称为切身、去头和去尾,这样更容易记住和理解。
在了解索引和切片前,先了解一下字符串的序号知识:
在字符串序号中,序号可以从左向右读以及从右向左读,这里就需要用两种方式来标记,我们可以将这个向左向右的标记方式称之为序号的排列方式,即正向递增序号和反向递减序号。
下表这段文字中,"振"字是正向递增总的序号1,是反向递减中的序号-6。
(上面的0至6是正向递增序号,下面的-7至-1是反向递减序号)
0 | 1 | 2 | 3 | 4 | 5 | 6 |
郭 | 振 | C | S | D | N | : |
-7 | -6 | -5 | -4 | -3 | -2 | -1 |
注意:在正向递增序号中,编号是从0开始的,并不是从1开始的。在反向递减序号中,结束编号是-1,不是0。
下面我们开始探讨字符串的索引与切片的用法:
1,索引: 获取字符串中单个字符
使用格式:<字符串>[M]
用法示例: "请输入:"[0] 或者 Hello[-1]
"请输入:"[0] 后面的 [0] 的意思是:获取字符串 请输入:正向递增的第0个字符,即请。
Hello ![-1] 后面的 [-1] 的意思是:获取变量字符串 Hello !反向递减第-1个字符,即! (这里Hello!变量假设是没有被赋值的,如果被赋值了,则取出的是被赋予的新字符串的第-1个字符,例如该变量被赋值ABC时,取出的则是C )。
2,切片:获取字符串中的一段字符或者一个字符的子串
【切身法】
使用格式:<字符串>[M:N] #意思是提取从M到N的字符串(不含N)。
用法示例: "请输入温度值:"[1:3] 或者 Tempstr[0:-1]
"请输入温度值:"[1:4] 的意思是:取出第1到第3个字符串(不包括第4个字符串)。即:请输入。
【去尾法】
Tempstr[0:-1] 意思是:取出第0个到第-2个字符串,不包括第-1个字符串,相当于把字符串的最后一位给去掉。即:Tempst。
【去头法】
去头法用 [4:] 表示提取从第4个开始到字符串结束,例如: ABCD888[4:] 即表示去除前面ABCD这4个字符串(ABCD888),提取从第5个起到该字符串结束的信息,即888。
实例参考:
#去头用法示例:
GZ=input()
print(GZ[0:])
#输入ABC123结果是ABC123
GZ=input()
print(GZ[1:]) #xxx[1:]表示字符串除首字符外的所有字符。
#输入ABC123结果是BC123
#比较前3位:
GZ=input()
if GZ[:3]==["RMB"]: #两个==表示完全等于,这里也可以使用in,不过in是包含的意思,这里都可以,意思是前3位等于RMB。
usd=(eval(GZ[3:])/5.6)
print("USD{:.2f}".format(usd))