python 遍歷字符串(含漢字)實(shí)例詳解
python 遍歷字符串(含漢字)實(shí)例詳解
s = "中國china" for j in s: print j
首先一個(gè),你這個(gè)'a'是什么編碼?可能不是你所想的gbk
>>> a='中國' >>> a
這樣試試看,如果出來是6個(gè)字(word),說明是utf-8,如果是4個(gè)字,說明gbk。
另外,不管是utf-8還是gbk,都不能這樣遍歷,因?yàn)檫@里它會一個(gè)字一個(gè)字拿出來。虛擬機(jī)把a(bǔ)當(dāng)成一個(gè)長度為len(a)的字符串了。
接下來是遍歷問題。
Linux的shell大都默認(rèn)是utf-8,所以一個(gè)中文字符是三個(gè)字,所以要三個(gè)三個(gè)地讀,你可以試下:
>>> a[:3]
出來就是個(gè)”中”字
windows的command的默認(rèn)是cp936,也就是gbk,一個(gè)中文字符是兩個(gè)字,所以兩個(gè)字兩個(gè)字地讀(a[:2])。
還有另一種遍歷的方法,把字符串轉(zhuǎn)換成unicode,這樣中文英文都是一個(gè)字,就可以用你的for i in a的方法遍歷了。這個(gè)的好處是中文英文字符都是一個(gè)字,而utf-8和gbk里,英文字母只占一個(gè)字。
s = u"中國china" for j in s: print j
輸出如下:
中 國 c h i n a
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Python實(shí)現(xiàn)二分查找算法實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)二分查找算法,實(shí)例分析了二分查找算法的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-05-05Python中使用多進(jìn)程來實(shí)現(xiàn)并行處理的方法小結(jié)
本篇文章主要介紹了Python中使用多進(jìn)程來實(shí)現(xiàn)并行處理的方法小結(jié),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08使用python+poco+夜神模擬器進(jìn)行自動化測試實(shí)例
這篇文章主要介紹了使用python+poco+夜神模擬器進(jìn)行自動化測試實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Flask框架學(xué)習(xí)筆記之模板操作實(shí)例詳解
這篇文章主要介紹了Flask框架學(xué)習(xí)筆記之模板操作,結(jié)合實(shí)例形式詳細(xì)分析了flask框架模板引擎Jinja2的模板調(diào)用、模板繼承相關(guān)原理與操作技巧,需要的朋友可以參考下2019-08-08tensorflow2.0的函數(shù)簽名與圖結(jié)構(gòu)(推薦)
這篇文章主要介紹了tensorflow2.0的函數(shù)簽名與圖結(jié)構(gòu),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04使用Python Pandas處理億級數(shù)據(jù)的方法
這篇文章主要介紹了使用Python Pandas處理億級數(shù)據(jù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06