What does 'u' mean in a list?
这是我第一次碰到这个。刚刚打印了一个列表,每个元素前面似乎都有一个u。
1
| [u'hello', u'hi', u'hey'] |
它是什么意思?为什么列表在每个元素前面都有这个?
因为我不知道这有多普遍,如果你想看看我是怎么遇到它的,我会很高兴地编辑这篇文章。
- 当您查找字符串常量的语法时,您看到了什么?docs.python.org/library/…
这是Unicode字符串的指示。与原始字符串的r''类似。
1 2 3 4
| >>> type(u'abc')
<type 'unicode'>
>>> r'ab\c'
'ab\\c' |
- 啊,我以为r""和正则表达式有关?
- 它通常用于正则表达式,因此我们可以编写像r'/[ \t]+/'这样的内容,而不是'/[ \\t]+/'(注意,双反斜杠-除非您要转义结束引号,否则不必用原始字符串转义内容)。
- 在regex中经常使用它来避免所有的反斜杠
- 我懂了。如果我遍历一个unicode列表并检查列表中是否有一些字符串,它会识别该字符串吗?我目前正在检查每个元素,看它是否匹配某个字符串,并且每次都在进行转义。这是因为它是Unicode吗?
- R和U有点不同。u表示字符串的类型,而r(或者ru,如果您想使用原始的unicode文本)生成普通的str(或者unicode,如果u和r都被使用),但在编译时解析方式不同。>>> repr(r'foo') "'foo'" >>> repr(u'foo') "u'foo'"注意r是如何消失的(这只是反斜杠做什么的问题),而u没有消失(因为它使一个不同类型的对象)。
- 如果字符串是仅使用ASCII字符的Unicode字符串(如示例中所示),那么in操作将隐式转换字符串,您将得到True,〔u'abc〕中的'abc'将产生True。如果Unicode字符串使用ASCII字符集之外的字符,那么在这种测试中自然会得到False。
Unicode。
u仅仅意味着下面的字符串是一个Unicode字符串(而不是普通的ASCII字符串)。它与刚好包含(unicode)字符串的列表无关。
我相信U'前缀创建的是Unicode字符串而不是常规的ASCII