2009-11-10 7 views
21

Dies ist das erste Mal, dass ich darauf gestoßen bin. Nur eine Liste gedruckt und jedes Element scheint ein u vor ihm zu haben, das heißtWas bedeutet "du" in einer Liste?

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

Was bedeutet es, und warum eine Liste dieser vor jedem Element haben würde?

Da ich nicht weiß, wie häufig das ist, wenn Sie sehen möchten, wie ich darauf stieß, werde ich den Beitrag gerne bearbeiten.

+0

Wenn Sie die Syntax für String-Konstanten nachgeschlagen, was hast du da? http://docs.python.org/library/stdtypes.html#sequence-types-str-unicode-list-tuple-buffer-xrange –

Antwort

45

es ist ein Zeichen für Unicode-String. ähnlich wie r'' für rohe Zeichenfolge.

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

Ah, ich dachte r '' meinte etwas mit einem regulären Ausdruck zu tun? – Federer

+6

Es wird im Allgemeinen für reguläre Ausdrücke verwendet, so dass wir Dinge wie 'r '/ [\ t] + /'' anstelle von '/ [\\ t] +/'' schreiben können (beachten Sie den doppelten Backslash - Sie haben keine um Dinge in rohen Strings zu entkommen, es sei denn, du entkommst dem Schlusszitat). –

+2

es ist oft in Regex verwendet, um alle die ausweichenden Backslashes zu vermeiden – SilentGhost

9

Die u bedeutet nur, dass die folgende Zeichenfolge eine Unicode-Zeichenfolge (im Gegensatz zu einer einfachen ASCII-Zeichenfolge) ist. Es hat nichts mit der Liste zu tun, die zufällig die (Unicode-) Strings enthält.

4

glaube ich, die u‘Präfix ein Unicode-String anstelle der normalen ascii schafft