python 字符串修改,切片操作

1. python中字符串属于不可改变对象,不支持原地修改,如果需要修改其中的值,只能重新创建一个新的字符串对象。

2. 可以通过将字符串转变成list,修改list,然后再使用join将list转换为str,实现字符串的修改操作。

3. 可以使用replace()替换字符串中的部分子字符串,达到部分修改的目的。

4. 切片是python序列的重要操作,适用于列表、字符串等对象,切片使用两个冒号分割的3个数字表示(起点:终点:步长),可以使用切片截取列表中的任何部分,也可以通过切片修改列表。

示例为表达式参数个数计算代码片段

word=" F(g(a,a) , f(aa,bb)) "
word=word.replace(" ","")  #删除字符串中的空格
n1=word.rfind("(")    #最右侧的左括号
n2=word.find(")",n1)  #对应的右括号
s1=word[n1+1:n2]      #读取括号内的字符串,即最内层参数 aa,bb
pass   #其他处理
l_word=list(word)     #字符串转列表
l_word[n1:n2+1]=[]    #利用列表切片及操作,清除括号及参数
word=''.join(l_word)  #利用join列表转字符串,F(g(a,a),f)

切片操作的参数类似于range,第一个参数表示开始位置(默认为0),第二个参数表示截止(但不包括)位置(默认为列表长度),第三个参数(默认为1),当步长省略时可顺便省略最后一个冒号。

x='012345'
print(x[1:3])   #结果为12
m=''
for i in range(1,3):
    m=m+x[i]
print(m)       #结果为12

利用切片操作实现列表复制

a = [1, 2, 3]
b = a[:]