Maison > Questions et réponses > le corps du texte
Comment convertir une chaîne comme a = "我是中国人"
,转换成列表li =["我","是","中","国","人"]
a = "我是一个中国人"
li = list(a)
print li
Le résultat est
['\xe6', '\x88', '\x91', '\xe6', '\x98', '\xaf', '\xe4', '\xb8', '\x80', '\xe4', '\xb8', '\xaa', '\xe4', '\xb8', '\xad', '\xe5', '\x9b', '\xbd', '\xe4', '\xba', '\xba']
Je l'ai implémenté très simplement en utilisant JavaScript
var a = "我是中国人"
li = a.split("")
console.log(li) // >>>["我","是","中","国","人"]
Vous ne savez pas comment l'implémenter en python ?
曾经蜡笔没有小新2017-05-18 10:59:49
Vous pouvez d'abord décoder la chaîne en 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]
是
巴扎黑2017-05-18 10:59:49
python3 n'a aucun problème de codage
In [20]: a
Out[20]: '我是中国人'
In [21]: li=list(a)
In [22]: li
Out[22]: ['我', '是', '中', '国', '人']
天蓬老师2017-05-18 10:59:49
# -*- 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]
#>> 我
#>> 是
#>> 中
#>> 国
高洛峰2017-05-18 10:59:49
1. Pas besoin de lister(a), juste
for each in a:
print each
Ça y est, cela n'a rien à voir avec le codage, ni avec python2 ou python3
2. Vous pouvez directement traiter a comme une liste. Pour l'obtenir, utilisez simplement un[num] pour le découper. Par exemple, pour obtenir "I", c'est un[0], et pour obtenir "Chine", vous. peut utiliser un[2:3]