您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Python如何實現字符串中某個字母的替代功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
今晚想實現這樣一個功能:將輸入字符串中的字母 “i” 變成字母 “p”。當時想的很簡單,直接用for循環遍歷,然后替代,出問題的代碼如下:
name = input('隨便輸入一堆字符吧...') #name = list(name) name = "".join(name) j = 0 for i in range(len(name)): if name[i] == 'i': name[i] = 'p' j = j + 1 i = i + 1 print("".join(name)) if j == 0: print('字符串里沒有字母i ......')
當時筆者想的是挺好,for循環遍歷,然后替代,順便再把字符 “i” 出現的次數用變量 j 表示出來,結果呢,一執行就出現了這樣一個錯誤:
Traceback (most recent call last): File "<ipython-input-4-0705a4a9133b>", line 6, in <module> name[i] = 'p' TypeError: 'str' object does not support item assignment
為什么呢,我 百度了一下,是因為這個:
輸入的name,是字符串,用type函數驗證后,顯示的確是str類型。筆者也意識到了這個問題,想用 name = “”.join(name) 來改變數據類型,但我沒有想到的是,剛才提到的 name = “”.join(name) 這一行,**
是將list轉變成字符串str的!!!
**
too young too simple, sometimes too naive。。。。
因此,真正需要解決這個問題,需要把str字符串類型轉變成list列表類型,就是需要list函數。 即:
用name = list(name) 代替 name = “”.join(name)
于是乎,問題解決,KO!
學到了,字符串不能用for循環的方式直接遍歷替代,如果想進行字符元素的替換,需要用 list() 函數進行轉換,變成 list 類型
感謝各位的閱讀!關于“Python如何實現字符串中某個字母的替代功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。