python 如何將字符串轉(zhuǎn)換成列表
問題描述
如何將字符串如a = '我是中國人',轉(zhuǎn)換成列表li =['我','是','中','國','人']
a = '我是一個中國人'li = list(a)print li
輸出卻是
[’xe6’, ’x88’, ’x91’, ’xe6’, ’x98’, ’xaf’, ’xe4’, ’xb8’, ’x80’, ’xe4’, ’xb8’, ’xaa’, ’xe4’, ’xb8’, ’xad’, ’xe5’, ’x9b’, ’xbd’, ’xe4’, ’xba’, ’xba’]
我用JavaScript很簡單的就實現(xiàn)了
var a = '我是中國人'li = a.split('')console.log(li) // >>>['我','是','中','國','人']
不知道python應(yīng)該如何實現(xiàn)?
問題解答
回答1:可以先將字符串解編碼成unicode, 再用list
# 第一種:>>> a = u'我是中國人'>>> s = list(a)>>> print s[u’u6211’, u’u662f’, u’u4e2d’, u’u56fd’, u’u4eba’]>>> print s[1]是# 第二種>>> a = '我是中國人'>>> s = a.decode(’utf8’)>>> s = list(a.decode(’utf8’))>>> s[u’u6211’, u’u662f’, u’u4e2d’, u’u56fd’, u’u4eba’]>>> print s[1]是回答2:
用python3
回答3:python3沒有編碼問題
In [20]: aOut[20]: ’我是中國人’In [21]: li=list(a)In [22]: liOut[22]: [’我’, ’是’, ’中’, ’國’, ’人’]回答4:
# -*- coding: utf-8 -*-def unicode_chars(s): if not isinstance(s, unicode):s = s.decode('utf-8') return [c for c in s]print unicode_chars('我是中國人')[0]print unicode_chars(u'我是中國人')[1]print unicode_chars(r'我是中國人')[2]print unicode_chars(b'我是中國人')[3]#>> 我#>> 是#>> 中#>> 國回答5:
1、不用list(a),直接
for each in a: print each
這樣就可以,和編碼沒關(guān)系,和python2或python3也沒關(guān)系
2、可以把a(bǔ)直接當(dāng)作一個list了,取得話就用 a[num]切片就可以,比如取“我”就是a[0],取“中國”可以用a[2:3]
相關(guān)文章:
1. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?2. debian - docker依賴的aufs-tools源碼哪里可以找到啊?3. docker網(wǎng)絡(luò)端口映射,沒有方便點的操作方法么?4. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?5. javascript - .vue頁面跳轉(zhuǎn)問題6. angular.js - angularjs中相同的方法,如何做到觸發(fā)只對當(dāng)前元素有效。7. javascript - js數(shù)組處理時,總在頭部多出一個空值8. 請問下微信H5支付 如何跳過瀏覽器確定這一步,直接喚起微信9. css3 - 根據(jù)效果,分析一下該動態(tài)是如何實現(xiàn)的?10. javascript - h5頁面微信授權(quán)登錄后用戶關(guān)閉頁面再次進(jìn)入又要授權(quán)
