python 遍歷字符串(含漢字)實例詳解
python 遍歷字符串(含漢字)實例詳解
s = "中國china" for j in s: print j
首先一個,你這個'a'是什么編碼?可能不是你所想的gbk
>>> a='中國' >>> a
這樣試試看,如果出來是6個字(word),說明是utf-8,如果是4個字,說明gbk。
另外,不管是utf-8還是gbk,都不能這樣遍歷,因為這里它會一個字一個字拿出來。虛擬機把a當成一個長度為len(a)的字符串了。
接下來是遍歷問題。
Linux的shell大都默認是utf-8,所以一個中文字符是三個字,所以要三個三個地讀,你可以試下:
>>> a[:3]
出來就是個”中”字
windows的command的默認是cp936,也就是gbk,一個中文字符是兩個字,所以兩個字兩個字地讀(a[:2])。
還有另一種遍歷的方法,把字符串轉換成unicode,這樣中文英文都是一個字,就可以用你的for i in a的方法遍歷了。這個的好處是中文英文字符都是一個字,而utf-8和gbk里,英文字母只占一個字。
s = u"中國china" for j in s: print j
輸出如下:
中 國 c h i n a
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Python中使用多進程來實現(xiàn)并行處理的方法小結
本篇文章主要介紹了Python中使用多進程來實現(xiàn)并行處理的方法小結,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08tensorflow2.0的函數(shù)簽名與圖結構(推薦)
這篇文章主要介紹了tensorflow2.0的函數(shù)簽名與圖結構,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04