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'
posted @ 2017-12-17 17:46  无谓的test  阅读(507)  评论(0编辑  收藏  举报