结果(Python)中的“u”是啥? [复制]

Posted

技术标签:

【中文标题】结果(Python)中的“u”是啥? [复制]【英文标题】:What is the "u" in results (Python)? [duplicate]结果(Python)中的“u”是什么? [复制] 【发布时间】:2016-07-13 23:12:30 【问题描述】:

我正在阅读《Python Text Processing with NLTK》这本书,书上的结果是:

>>> stopwords.fileids()
['danish', 'dutch', 'english', 'finnish', 'french', 'german', 'hungarian', 'italian', 'norwegian', 'portuguese', 'russian', 'spanish', 'swedish', 'turkish']

但是当我在终端运行代码时,结果是:

>>> stopwords.fileids()
[u'danish', u'dutch', u'english', u'finnish', u'french', u'german', u'hungarian', u'italian', u'norwegian', u'portuguese', u'russian', u'spanish', u'swedish', u'turkish']

每个字符串前面的“u”是什么?

【问题讨论】:

和What does the 'u' symbol mean in front of string values? 比较两个字符串,一个带前缀 'u' 而另一个不带前缀,仍然会返回 True(完美匹配),因此在许多情况下您无需担心。 您当前使用的是 Python 2。您希望切换到 Python 3 进行自然语言处理,因为它具有出色的文本处理能力;这个u 前缀也没有了。 NLTK 3.0 版支持 Python 3。 @AnttiHaapala,如果用户使用带有 NLTK v. 2 的 Python 2,就不会有 unicode 前缀,对吗?她使用的文本中的结果(大概)是使用 Python 2 和 NLTK 2 生成的,这些结果显示 no unicode 前缀。 @Silenus 也许;但现在任何从事自然语言处理的人都应该同时使用 Python 3 和 NLTK 3。 【参考方案1】:

u 代表包含 unicode 的字符串

您可以通过在 python 解释器中输入以下内容自行检查:

s = unicode('abcdef')
type(s) # <type 'unicode'>
t = u'unicode'
type(t) #<type 'unicode'>

关于 unicode 字符串的更多信息python2 | python3

【讨论】:

以上是关于结果(Python)中的“u”是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我的元组中的那些小“u”是啥? (python 2.7)[重复]

python中的'%%'是啥意思? [复制]

Python中的点是啥? [复制]

Python 中的 %% 是啥? [复制]

Python 中的 @ 和 lambda 是啥意思? [复制]

Python 中的 @withparser 方法是啥意思? [复制]