python 如何将字符串转换成列表
问题描述
如何将字符串如a = '我是中国人',转换成列表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很简单的就实现了
var a = '我是中国人'li = a.split('')console.log(li) // >>>['我','是','中','国','人']
不知道python应该如何实现?
问题解答
回答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
这样就可以,和编码没关系,和python2或python3也没关系
2、可以把a直接当作一个list了,取得话就用 a[num]切片就可以,比如取“我”就是a[0],取“中国”可以用a[2:3]
相关文章:
1. javascript - babel转码目标文件下有除了.js的其他文件,转码后只有.js文件。2. javascript - 在静态页面上用load 引入的页面文件问题?3. 微信chooseImage接口部分机型选择图片后莫名其妙的跳转其他页面4. c++ - win764位环境下,我用GCC为什么指针占8个字节,而long是4个字节?5. font-family - 我引入CSS3自定义字体没有效果?6. css3 - 微信前端页面遇到的transition过渡动画的bug7. html - 谁能推荐一个类似apple官网的模板,用来展示产品的?8. HTML5禁止img预览该怎么解决?9. 找一个权威、实战的微信扫码授权登录网站的开发教程或者文章10. ueditor上传服务器提示后端配置项没有正常加载,求助!!!!!