python六大常用基本数据类型之字符串

python字符串

字面常量
有序序列
字符串不可变
支持索引
sql = " " sql[4] 有趣:type(sql[4])?
sql[4] = 'o’报error
tuple(sql) list(sql) for c ins ql:
注:可迭代对象作用特别大 python包装
“-”.join(‘abcde’) return str
“,”.join(str(range(5))) --map函数 str–没什么不能转换
“,”.join(map(str(range(5)))
“什么也不写”.join(sql) 变为一个
join 创建的是新的字符串 不存则gc
c = join()
d = ‘a’+‘b’
d = ‘ab’*5 -> ‘ababababab’
d += ‘c’#d = d + ‘c’ -> ‘abababababc’
d = 3 -> ‘abababababcabababababcabababababc’

字符串切割

动手试试看

e = “,”.join(map(str,range(5)))
e.split()
e不变 return 一个元素
e.split(’,’)
return 五个元素
‘a b \n \t \r\n c’.split()
‘a b \n \t \r\n c’.split(‘空格’)
‘a b \n \t \r\n c’.split(’\n’)
‘a b \n \t \r\n c’.split(’\n\t\r ‘)
‘a b c d’.split(’ ‘)
‘a b c d’.split(‘b ‘)
‘a b \n \t \r\n c’.split(maxsplit=1)指定次数
‘a b’.split(’’, maxsplit=1)中间两个空格 切一次 一刀两断(段)
‘a b’.split(’’, maxsplit=2)#结果[‘a’,’’,‘b’] 这个’‘是个空串 而且不是none
‘a b’.rsplit(’ ',maxsplit=1)#暗示默认顺序是从左# 现在指定右边切


splilines()# 按行切割 识别换行符"\n" splilines(True)# 保留换行符号

split 立即返回列表(暗示创建了新的(列表[]))
split不指定切割符 将会按照尽可能长的空格去切割
s1 = “I’m \ta super student.”
s1 = split()没指定
s1 = split(‘s’)
s1 = split(‘super’)
s1 = split('super ‘)super加空格
s1 = split(’ ') 指定空格


‘a b’.partition()#报错 没有指定切割符 split?->可以不指定
‘a b’.partition(’ ‘)
‘a,b,c’.partition(’,’)
‘a,b,c’.rpartition(’,’)#rsplit(’,’,1)
‘a,b,c’.rpartition(’ ‘)
‘a,b,c’.partition(’ ')
#可以看出partition 返回三元组 可切遇到分隔符 把字符串分割为两部分 (切的东西不保存 split也一样)返回头,分隔符,尾 无法切割则 返回一个整体 空串 空串


s1 = ‘Abc’
upper()大写
lower()小写
swapcase()大小写转换


s2 = ‘sadasdasdas’
s3 = s2.replace(‘s’,‘a’).split()
l1 = [].append().append()##报错 第一个append后返回none了
s2.replace(‘s’,‘a’)split().append(‘abc’)#由于python不声明类型 所以要分别返回类型,根据相应类型选择对应方法。 append就地修改 返回none要注意

replace(‘发现这里’,‘用这里替换’)
if isinstance(field_names,str):
field_names.replace(’,’,’ ').split()
replace()返回新字符串
字符串不可修改 复刻不是原版
.strip(‘指定字符’)从两端匹配你指定的字符删
str1 = ‘asdasdasdasdas g aaa aaa’
str1.strip()
lstrip() -> str
rstrip() -> str


str1.index(‘a’,0,2) ->[0,2)
‘a’ in str1
s1.find(‘a’,0,2) #区别于 index方法 index找不到 出异常 find找不到出 -1|if s1.find(‘a’,0,2) < 0:没找到|
if s1.find(‘a’,0,2)

s1.rfind(‘g’,-1,-20)
s1.rfind(‘g’,11,5) ####试试负索引


s1.startwith()
s2.endswith(’’,-1000,100000)##想想这俩的效率 再比较list操作方式 最后想想 逆向 顺序 实现方式 比如最后是sorry 为什么不用’yrros’


border="0" width="330" height="86" src="//music.163.com/outchain/player?type=2&id=543325309&auto=1&height=66">

尽管他生活在人群中,却同林中野兽一样,一个人也不认识,一个人也不爱。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值