Я немного запутался, когда хочу вывести китайские иероглифы в консоли Python:

Допустим, я читаю некоторые китайские иероглифы 尽管美国一些重要行业 в списке word_list. Если я выведу вот так:

for item in word_list:
    print item

Он отображает китайские иероглифы как в консоли. Однако, если я напрямую напечатаю вот так:

print word_list

Я получил: [u'\u5c3d\u7ba1', u'\u7f8e\u56fd', u'\u4e00\u4e9b', u'\u91cd\u8981', u'\u884c\u4e1a', ...

Так как я могу просто вывести word_list и позволить ему отображаться китайскими иероглифами?

flyingmouse

Ответов: 1

Ответы (1)

Это должно сработать:

print ''.join(word_list)

Здесь join конкатенирует каждые два последовательных элемента из word_list с '' char (который является строкой Empty), что равносильно объединению всех элементов в word_list в одну строку. В вашем случае элементы word_list уже находятся в формате unicode, поэтому это было просто.

>>> l = [u'\u5c3d\u7ba1', u'\u7f8e\u56fd', u'\u4e00\u4e9b', u'\u91cd\u8981', u'\u884c\u4e1a']
>>> 
>>> 
>>> print ''.join(l)
尽管美国一些重要行业
>>> print l
[u'\u5c3d\u7ba1', u'\u7f8e\u56fd', u'\u4e00\u4e9b', u'\u91cd\u8981', u'\u884c\u4e1a']
>>> for i in l:
    print i 
尽管
美国
一些
重要
行业

2022 WebDevInsider