Python實(shí)現(xiàn)字符串中某個(gè)字母的替代功能
今晚想實(shí)現(xiàn)這樣一個(gè)功能:將輸入字符串中的字母 “i” 變成字母 “p”。當(dāng)時(shí)想的很簡單,直接用for循環(huán)遍歷,然后替代,出問題的代碼如下:
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 ......')
當(dāng)時(shí)筆者想的是挺好,for循環(huán)遍歷,然后替代,順便再把字符 “i” 出現(xiàn)的次數(shù)用變量 j 表示出來,結(jié)果呢,一執(zhí)行就出現(xiàn)了這樣一個(gè)錯(cuò)誤:
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
為什么呢,我 百度了一下,是因?yàn)檫@個(gè):
輸入的name,是字符串,用type函數(shù)驗(yàn)證后,顯示的確是str類型。筆者也意識(shí)到了這個(gè)問題,想用 name = “”.join(name) 來改變數(shù)據(jù)類型,但我沒有想到的是,剛才提到的 name = “”.join(name) 這一行,**
是將list轉(zhuǎn)變成字符串str的?。?!
**
too young too simple, sometimes too naive。。。。
因此,真正需要解決這個(gè)問題,需要把str字符串類型轉(zhuǎn)變成list列表類型,就是需要list函數(shù)。 即:
用name = list(name) 代替 name = “”.join(name)
于是乎,問題解決,KO!
學(xué)到了,字符串不能用for循環(huán)的方式直接遍歷替代,如果想進(jìn)行字符元素的替換,需要用 list() 函數(shù)進(jìn)行轉(zhuǎn)換,變成 list 類型
總結(jié)
以上所述是小編給大家介紹的Python實(shí)現(xiàn)字符串中某個(gè)字母的替代功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
利用selenium爬蟲抓取數(shù)據(jù)的基礎(chǔ)教程
這篇文章主要給大家介紹了關(guān)于如何利用selenium爬蟲抓取數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用selenium具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06python使用time、datetime返回工作日列表實(shí)例代碼
這篇文章主要介紹了python使用time、datetime返回工作日列表,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Django Rest framework認(rèn)證組件詳細(xì)用法
這篇文章主要介紹了Django Rest framework認(rèn)證組件詳細(xì)用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07keras model.fit 解決validation_spilt=num 的問題
這篇文章主要介紹了keras model.fit 解決validation_spilt=num 的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06如何解決flask修改靜態(tài)資源后緩存文件不能及時(shí)更改問題
在本篇內(nèi)容里小編給大家整理的是關(guān)于如何解決flask修改靜態(tài)資源后緩存文件不能及時(shí)更改問題,需要的朋友們可以學(xué)習(xí)下。2020-08-08Python實(shí)現(xiàn)字典序列ChainMap
容器數(shù)據(jù)類型包括數(shù)組list,字典dict以及元組tuple等。本篇主要介紹了ChainMap字典序列的使用,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06