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[:]