python遍歷字符串中每一個(gè)字符的4種方式
python遍歷字符串中的每一個(gè)字符有4種方式:
1. for in ;
2.iter內(nèi)置函數(shù);
3.內(nèi)置函數(shù)range()或xrange();
4. enumerate
"for in"和iter適合對(duì)字符進(jìn)行直接處理的一類(lèi)題目,比如大小字母,生僻字替換,字符串對(duì)比之類(lèi)的。
range()或xrange()和enumerate適合需要判斷后續(xù)字符的場(chǎng)景,比如循環(huán)到下標(biāo)index處,要求判斷index+1的字符。最典型的題目就是語(yǔ)法解析器,判斷"(())"這種成對(duì)的括號(hào)的算法。
總之,如果需要用到下標(biāo)就使用range()或xrange()和enumerate,其中enumerate比下標(biāo)法性能更優(yōu)。
(注意:本文基于Python3.x)
第一種方式,for in
girl_str = "love You" for every_char in girl_str: print(every_char)
結(jié)果:
l
o
v
e
Y
o
u
Process finished with exit code 0
建立字典,將字符串中指定的字符替換成字典中對(duì)應(yīng)的字符。
def jiema(x): a = {'閏':1, '麣':2, '驋':3, '龤':4, '鑶':5, '龥':6, '餼':7, '鵂':8, '齤':9, '龒':0} n = '' for i in x: if i in a.keys(): i = a[i] n += str(i) return n content = '龒江山待有才人出,各領(lǐng)風(fēng)騷數(shù)百年齤' print(content) print(jiema(content))
結(jié)果:
龒江山待有才人出,各領(lǐng)風(fēng)騷數(shù)百年齤
0江山待有才人出,各領(lǐng)風(fēng)騷數(shù)百年9
第二種方式,內(nèi)置函數(shù)iter()
girl_str = "love You" for every_char in iter(girl_str): print(every_char)
結(jié)果同一。
第三種方式,內(nèi)置函數(shù)range()或xrange()。
把字符串長(zhǎng)度傳進(jìn)去就行
girl_str = "love You" for index in range(len(girl_str)): print(girl_str[index])
結(jié)果同一。
第四種方式,內(nèi)置函數(shù)enumerate()
girl_str = "love You" for index, every_char in enumerate(girl_str): print(str(index) + ' '+every_char)
結(jié)果:
0 l
1 o
2 v
3 e
4
5 Y
6 o
7 u
總結(jié)
到此這篇關(guān)于python遍歷字符串中每一個(gè)字符的4種方式的文章就介紹到這了,更多相關(guān)python遍歷字符串中字符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳細(xì)聊聊為什么Python中0.2+0.1不等于0.3
最近在學(xué)習(xí)過(guò)程中發(fā)現(xiàn)在計(jì)算機(jī)JS時(shí)發(fā)現(xiàn)了一個(gè)非常有意思事,0.1+0.2的結(jié)果不是0.3,而是0.30000000000000004,下面這篇文章主要給大家介紹了關(guān)于為什么Python中0.2+0.1不等于0.3的相關(guān)資料,需要的朋友可以參考下2022-12-12Python異常之常見(jiàn)的Bug類(lèi)型解決方法
這篇文章主要介紹了Python異常之常見(jiàn)的Bug類(lèi)型解決方法,主要分享一些粗心導(dǎo)致和知識(shí)不熟練導(dǎo)致的語(yǔ)法錯(cuò)誤以及被迫掉坑等內(nèi)容,文章介紹非常詳細(xì)需要的小伙伴可以參考一下2022-03-03python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)
這篇文章主要介紹了python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02OpenCV物體跟蹤樹(shù)莓派視覺(jué)小車(chē)實(shí)現(xiàn)過(guò)程學(xué)習(xí)
這篇文章主要介紹了OpenCV物體跟蹤樹(shù)莓派視覺(jué)小車(chē)的實(shí)現(xiàn)過(guò)程學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10利用機(jī)器學(xué)習(xí)預(yù)測(cè)房?jī)r(jià)
這篇文章主要介紹了利用機(jī)器學(xué)習(xí)回歸模型預(yù)測(cè)房?jī)r(jià),解釋清晰,代碼詳細(xì),是很不錯(cuò)的機(jī)器學(xué)習(xí)實(shí)戰(zhàn)演練,對(duì)機(jī)器學(xué)習(xí)感興趣的朋友可以參考一下2021-04-04基于python實(shí)現(xiàn)可視化生成二維碼工具
這篇文章主要介紹了基于python實(shí)現(xiàn)可視化生成二維碼工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07