转换浮点型、科学计数法、布尔型等为字符串
>>> str(5.3)
'5.3'
>>> str(3.14e2)
'314.0'
>>> str(True)
'True'
>>>
字符串的本质是字符序列,可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符
正向搜索:最左侧第一个字符,偏移量是0,第二个偏移量是1,依次类推,直到len(str)-1为止
反向搜索:最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,依次类推,直到-len(str)为止
>>>a=’abcd’
>>> print(a[0],a[1],a[2],a[3]) #正向搜索
a b c d
>>> print(a[-1],a[-2],a[-3],a[-4]) #反向搜索
d c b a
>>>,
Replace()返回的是创建的新的字符串,原字符串未替换,a指向了新创建的字符串
>>> a.replace('c','spy')
'abspyd'
>>> a
'abcd'
>>>
切片slice操作可以快速截取字符串
标准格式[起始偏移量start:终止偏移量end:步长step]
注意:包含头不包含尾,步长指的是隔几个字符取一个值
>>> a='abcdefjhijklm'
>>> a[2]
'c'
>>> a[1:5]
'bcde'
>>> a[1:5:2]
'bd'
>>> a[1:5:1]
'bcde'
>>>
>>> a[:] #指的是所以字符串
'abcdefjhijklm'
>>> a[2:] #第二个开始到最后
'cdefjhijklm'
>>> a[:2] #开头到2
'ab'
>>> a[2:4]
'cd'
>>>
>>> a[-3:]
'klm'
>>> a[-4:-2] #反向搜索
'jk'
>>> a[::-1] #步长-1,逆序排
'mlkjihjfedcba'
>>>
>>> 'to be or not to be'[::-1]
'eb ot ton ro eb ot'
>>> 'sxtsxtsxtsxt'[::2]
'stxstx'
>>> 'sxtsxtsxtsxt'[::3]
'ssss'
>>>
Split可以基于指定分隔符将字符串分割成多个字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。
Join()用户将一些列字符串连接起来
>>> a='to be or not to be'
>>> a.split()
['to', 'be', 'or', 'not', 'to', 'be']
>>> a.split('be')
['to ', ' or not to ', '']
>>>
>>> a=['one','two','three']
>>> "*".join(a)
'one*two*three'
>>> "".join(a)
'onetwothree'
>>>
拼接字符串要点:“+”会生成多个对象,join生成一个对象
使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串,推荐使用join函数,因为使用join函数在拼接字符串之前会计算所以字符串的长度,然后逐一拷贝,仅新建一次对象
测速拼接符和join不同的效率
import time time01 = time.time() #起始时刻
a='' for i in range(1000000): a += "sxt" time02 = time.time() #终止时刻 print("运算时间:"+str(time02-time01))
time03 = time.time() #起始时刻
li = [] for i in range(1000000): li.append("sxt") a = "".join(li) time04 = time.time() #终止时刻 print("运算时间:"+str(time04-time03))
|