2021-06-04

PYTHON字符串

一级目录

二级目录

三级目录

replace()实现字符串替换

字符串是“不可改变”的,我们通过[]可以获取字符串指定位置的字符,但是我们不能改变 字符串。我们尝试改变字符串中某个字符,发现报错了:

 >>>> a = 'abcdefghijklmnopqrstuvwxyz' 
 >>>> a 'abcdefghijklmnopqrstuvwxyz' 
 >>>> a[3]='高' 
 Traceback (most recent call last): File "<pyshell#94>", line 1, in <module> a[3]='高' TypeError: 'str' object does not support item assignment 

字符串不可改变。但是,我们确实有时候需要替换某些字符。这时,只能通过创建新的字符 串来实现。

>>> a = 'abcdefghijklmnopqrstuvwxyz' 
>>> a 'abcdefghijklmnopqrstuvwxyz' 
>>> a = a.replace('c','高') 'ab 高 defghijklmnopqrstuvwxyz'` 

整个过程中,实际上我们是创建了新的字符串对象,并指向了变量 a,而不是修改了以前的字符串。\

split()分割和 join()合并

split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔 符,则默认使用空白字符(换行符/空格/制表符)。示例代码如下:

>>> a = "to be or not to be" 
>>> a.split() 
>['to', 'be', 'or', 'not', 'to', 'be'] 
>>> a.split('be') 
>['to ', ' or not to ', '']

join()的作用和 split()作用刚好相反,用于将一系列子字符串连接起来。示例代码如下:

 >>> a = ['sxt','sxt100','sxt200'] 
 >>> '*'.join(a) 
 'sxt*sxt100*sxt200

可变字符串

在 Python 中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智 能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO 对象或 array 模块。

>>> import io
>>> s = "hello, sxt" 
>>> sio = io.StringIO(s) 
>>> sio 
<_io.StringIO object at 0x02F462B0> 
>>> sio.getvalue() 'hello, sxt' 
>>> sio.seek(7) 
7
>>> sio.write("g") 
1
>>> sio.getvalue() 
'hello, gxt'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值