2009-11-10 27 views
21

Esta es la primera vez que me encuentro con esto. Acaba de imprimir una lista y cada elemento parece tener un u en frente de ella, es decir¿Qué quiere decir "U" en una lista?

[u'hello', u'hi', u'hey'] 

¿Qué significa y por qué sería una lista que esta en frente de cada elemento?

Como no sé qué tan común es esto, si desea ver cómo lo encontré, con gusto edito la publicación.

+0

Cuando levantó la vista de la sintaxis de las constantes de cadena, lo que viste allí? http://docs.python.org/library/stdtypes.html#sequence-types-str-unicode-list-tuple-buffer-xrange –

Respuesta

45

que es una indicación de la cadena Unicode. similar a r'' para cadena sin procesar.

>>> type(u'abc') 
<type 'unicode'> 
>>> r'ab\c' 
'ab\\c' 
+0

Ah, ¿pensé que significaba algo relacionado con una expresión regular? – Federer

+6

Generalmente se usa para expresiones regulares para que podamos escribir cosas como 'r '/ [\ t] + /'' en lugar de ''/ [\\ t] + /'' (observe la doble barra diagonal inversa: no tiene para escapar cosas en cadenas sin formato a menos que estés escapando de la cita de cierre). –

+2

a menudo se usa en expresiones regulares para evitar todas las barras invertidas que escapan – SilentGhost

9

La u solo significa que la siguiente cadena es una cadena Unicode (a diferencia de una cadena asci simple). No tiene nada que ver con la lista que contiene las cadenas (unicode).

4

creo que el prefijo u' crea una cadena Unicode en lugar de ASCII normales

Cuestiones relacionadas