您的位置:首页 > 理论基础 > 数据结构算法

python学习3-内置数据结构3-字符串

2018-01-04 22:07 435 查看
字符串是集合类型
1、定义
s = 'hello python'
s = "hellp python"
以上2种没有区别
s = '''hello python'''
s = """hello python"""
以上2种没有区别
区别在于三引号可以定义多行字符串
2、转义和自然字符串
s = 'i like \npython'
避免转义用r前缀
path = r'c:\nt\
3、查
s[index] #返回字符串
4、字符串不可改变,可迭代
5、连接
“分隔符”.join(lst) #join是连接字符串方法,参数是可迭代对象,
6、分隔
s.split(‘分隔符’[,maxsplit=-1]) #默认使用空格分隔,多个当一个处理;当指定空格时,按每个空格分隔;maxsplit表示分隔几次,默认为-1,表示分隔所有
s.rsplit是split从右往左分隔,当不使用maxsplit时,两者一致,但是从左往右效率更高。
s.splitlines() #按行分隔,如果参数为True,则带换行符
s.partition('分隔符') #总是分成三部分,头、参数和尾部。适合分隔路径。
s.rpartition('分隔符') #和partition类似,从左往右分隔
7、转化
s,upper() #所有字母变为大写
s.lower() #所有字母变为小写
s.title() #所有首字母大写
s.capitalize() #仅第一个单词首字母大写
s.casefold() #不同平台有不同表现形式,同一平台下相同,通常用于忽略大小写的比较
s.swapcase() #大小写互换
8、显示
s.zfill(width) #不足width长度时,在前面加0补满
s.expandtabs(count) #把tab转为为count个空格
9、修改
s.replace(old,new[,count]) #替换,默认全部替换
s.strip([‘字符’]) #移除前后的指定字符,默认为移除空白
s.lstip(['字符 #只移除左边的指定字符
s.rstrip(['字符']) #只移除右边的指定字符
s.ljust(width[,'填充符']) #在左边填充,默认为空格
s.center(width[,'填充符']) #在多少字符中居中显示,其他用填充符,默认为空格
s.rjust(width[,'填充符']) #在右边边填充,默认为空格
10、查找
s.find('字符'[,start.end]) #从左往右查找,返回找到字符串的首字母的索引,当不存在时返回-1
s.rfind('字符'[,start,end]) #从右往左查找,都是先用start和end截取之后再查找
s.index('字符'[,start,end]) #和find一样,唯一区别是查找不到返回value error。
s.rindex('字符'[,start,end]) #从右往左查找
s.count('字符'[,start,end]) #查找字符出现的次数
list(enumerate(s)) 返回索引和值
11、判断
s.startswith('字符'[start,end]) #判断是否以字符为首字母开始,start表示从此位置开始比较
s.endswith('字符'[start,end]) #判断是否以字符结尾
s.isalnum() #判断是否只包含字母和数字
s.isidentifier() #判断是否是合法标识符:字母或者下划线开头;仅包含字母和下划线
12、字符串格式化
是拼接字符串的一种手段
2.6之前:用类似printf,继承c语音而来
'i love %s, i am %d' % ('python'.18) #如果类型不匹配,会typeerror
%s 字符串 %d 整型 %f 浮点型
2.6开始format方法:用{}做占位符,可以在大括号中加位置,可以重复使用如,也可以加标识符:
'i love {0} , you love {0} , i am {age} you name {name}'.format('python',age=12,name='tom')
当占位符和参数不匹配时会报错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python