Python序列之字符串
一、序列的定义
1、数据结构:在python中,最基本的数据结构是序列、映射
2、索引:序列中的每个元素被分配一个序号。注意索引默认从0开始
二、通用序列操作
所有序列都可以进行某些特定的操作:索引、分片、加、乘、检查某个元素是否属于序列的成员(成员资格)、内建函数(长度、最小值、最大值)。在这里还有一个重要的操作未提及----迭代,指依次对序列中的每个元素重发执行某些操作。
2.1索引
序列中的所有元素都是编号的----从0开始,可以通过编号进行访问。通常星期下,索引值为正数,但是python中也可以为复数,代表从右开始计数。若为负数时,开头第一位数为-1,而不是0,这样避免了与从左开始的第一个元素重合。
>>> a = "hello world"
>>> print a[0]
h
2.2切片
分片,个人理解是将变量通过冒号获取相应的值,获取的新值不会更改原始值。
>>> a = "www.baidu.com"
>>> a[0:len(a):2] //从第一个元素开始取,取到最后一个元素,步长为2。注意这个值可以取到字串的最后一个值
'wwbiucm'
>>> print a //元素值没被修改
>>> a[-1:0:-2] //倒着取值,注意:这个值只能取到字串的第一个值,但是不包括第一个值
'mcuibw'
2.3函数方法
1.首字母大写
>>> a.capitalize() //capitalize()函数进行首字母大写
>>> data = ['peter', 'Paul', 'MARY', 'gUIDO']
>>> [s.capitalize() for s in data] //批量对列表的首字母进行更改为大写
['Peter', 'Paul', 'Mary', 'Guido']
2.寻找文本:在字串串中,从左开始寻找自己想要的文本
>>> str4 = "www.baidu.com"
>>> str4.find('bai') //注意:它是必须要文本中存在'bai'的关键字才进行匹配,并且只匹配第一个关键字
4
>>> str4.find('bau') //关键字'bau'匹配不到所以抛出异常
-1
3.连接成字符串:把列表连接成字符串
>>> str5 = ['www','.','bai','du','.','com']
>>> "".join(str5) //双引号里面为空表示不以某字符作为分隔符
'www.baidu.com'
4.字母转换
常用字母转换
str1.lower() 转换成小写字母
str1.upper() 转换成大写字母
str1.swapcase() 大小写互换
str1.title() 转换为首字母大写,其他字母小写
对应的字母判断方法为
str1.islower() 判断小写
str1.isupper() 判断大写
str1.istitle() 判断单词首字母大写
>>> str1 = "AGB"
>>> str1.lower() //整个字符串都转换为小写字符
'agb'
>>> str1 = "abc"
>>> str1.upper() //整个字符串都转换为大写字符
'ABC'
>>> str1 = "DAdgeA"
>>> str1.swapcase() //整个字符大小写进行了互换
'daDGEa'
>>> str1 = "alRSof"
>>> str1.title() //首字母进行了大小,其他字符更换为小写
'Alrsof'
5.查找字符串并替换
>>> str1 = "www.qq.com"
>>> str1.replace('qq','baidu',1) //1表示只匹配替换1次,如果不写就要进行多次替换
'www.baidu.com'
6.分割字符串到列表
>>> str1.split('.')
['www', 'qq', 'com'] //将字符串"www.qq.com"以"."号进行了分割,获取到相关的值 备注:这样分割还是觉得不好
7.空格处理
str1.strip([s]) 删除首尾空,可以使用指定参数,删除首尾指定参数
str1.lstrip([s]) 删除左首空,同上
str1.rstrip([s]) 删除右首空,同上
>>> str1 = " fdsaf "
>>> str1.strip() //首尾空都将删除
'fdsaf'
>>> str1.lstrip() //删除左首空
'fdsaf '
>>> str1.rstrip() //删除右首空
' fdsaf'