Python字符串-转型/提取/替换/切片/分割/合并

Str()实现数字转型字符串

转换浮点型、科学计数法、布尔型等为字符串

>>> 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()实现字符串的替换

Replace()返回的是创建的新的字符串,原字符串未替换,a指向了新创建的字符串

>>> a.replace('c','spy')

'abspyd'

>>> a

'abcd'

>>>

Python字符串-转型/提取/替换/切片/分割/合并_第1张图片

字符串切片slice操作

切片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()合并

       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))

 

 

你可能感兴趣的:(Python)