如何将unicode字符串拆分为列表

Per*_*ulf 10 python string unicode utf-8 unicode-string

我有以下代码:

stru = "??????????"
strlist = stru.decode("utf-8").split()
print strlist[0]
Run Code Online (Sandbox Code Playgroud)

我的输出是:

??????????
Run Code Online (Sandbox Code Playgroud)

但是当我使用时:

print strlist[1]
Run Code Online (Sandbox Code Playgroud)

我得到以下内容traceback:

IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

我的问题 是,我怎么能split我的string?当然,请记住我string从a 获得了function,认为它是一个variable

Ign*_*ams 14

  1. 你不需要.

    >>> print u"??????????"[1]
    ?
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果你还想 ......

    >>> list(u"??????????")
    [u'\u06f0', u'\u06f1', u'\u06f2', u'\u06f3', u'\u06f4', u'\u06f5', u'\u06f6', u'\u06f7', u'\u06f8', u'\u06f9']
    
    Run Code Online (Sandbox Code Playgroud)


chr*_*yss 11

split()默认情况下,该方法在空格上分割.因此,strlist是一个包含整个字符串的列表strlist[0],以及一个单独的元素.

如果你想要一个包含每个unicode代码点一个元素的列表,你可以用不同的方式将它转换为一个列表:

  • 功能: list(stru.decode("utf-8"))
  • 列表包括: [item for item in stru.decode("utf-8")]
  • 根本不转换.你真的需要一份清单吗?你可以迭代unicode字符串,就像任何其他序列类型一样(for character in stru.decode("utf-8"):...)


Rom*_*kar 6

你可以这样做

list(stru.decode("utf-8"))
Run Code Online (Sandbox Code Playgroud)