字符串是一个有序序列,可以是正向递增,也可以反向递减
0 1 2 3 4 5 6
a b c d e f g
-7 -6 -5 -4 -3 -2 -1
从最左端开始从0向右端依次增一
从最右端开始从-1向左端一次减一
[索引]:对字符串某个元素进行检索
[切片]:对字符串中的某个字串或区间的检索被称为切片.
可以采用
[start_index : end_index : 步长]
格式获取字符串的子串.
(左闭右开)
索引序号可以混合使用正向递增序号或反向递减序号.
>>>s='春眠不觉晓,处处闻啼鸟'
>>>s[5]
','
>>>s[-7]
','
>>>s[0:3]
'春眠不'
>>>s[3:-3]
'觉晓,处处'
切片的格式[start_index : end_index : 步长]
省略步长 默认为1
>>> a='0123456789'
>>> a[1:6]
'12345'
>>> a[1:6:1]
'12345'
切片的格式[start_index : end_index : 步长]
省略初始 取决于步长
>>> a='0123456789'
>>> a[:6]
'012345'
>>> a[0:6]
'012345'
>>> a[-1:6:-1]
'987'
>>> a[:6:-1]
'987'
切片的格式[start_index : end_index : 步长]
省略结束 默认到结尾
>>> a='0123456789'
>>> a[6:]
'6789'
比较容易错的
>>> a[6::-1]
'6543210'
>>> a[-1:-6]
''
常用切片:
取偶数位置:a[::2] 从头到尾 一次加2
取奇数位置:a[1::2]
拷贝整个对象:b=a[::]
逆向输出:a[::-1]
>>> a[:8][2:5][-1:]
'4'
切片练习
练习1:输入身份证号:获取身份证号的生日部分,尾数后六位
n=input(" please input id card number:”)
eg: n='370502199901010001'
>>> n='370502199901010001'
>>> n[6:14]
'19990101'
练习2:
输入一个字符串,判断它是否为回文字符串,是输出yes,不是输出no
比如:abba,abcba,level…
>>> a='level'
>>> b=a[::-1]
>>>if(b==a):
print("yes")
字符串处理方法
字符串处理函数:
获取字符串长度len():中文、英文、符号长度都为
str(x):任意类型x的字符串形式—强制类型转换
hex(10)—整数x对应的十六进制数的小写字符串格式(0x引导符)
oct(10)—整数x对应的八进制数的小写字符串格式