Пожалуйста, соблюдайте следующее поведение:
a = u"foo"
b = u"b\xe1r" # \xe1 is an 'a' with an accent
s = [a, b]
print a, b
print s
for x in s: print x,
Результат:
foo bár
[u'foo', u'b\xe1r']
foo bár
Когда я просто печатаю два значения, сидящие в переменных a
и b
, я получаю то, что ожидаю; когда я помещаю строковые значения в список и распечатываю его, я получаю нежелательную форму u"xyz"
; наконец, когда я печатаю значения из списка с помощью цикла, я снова получаю первую форму. Может кто-нибудь объяснить это странное поведение? Я знаю, что, вероятно, есть веская причина.