[PYTHON] Geben Sie eine Liste der Unicode-Zeichenfolgen aus

Wenn es sich um eine Liste handelt, wird versucht, die str-Funktion zu verwenden Drucken Sie auf dem Element oder weisen Sie dem zu druckenden Unicode-Typ ein Format zu. Es ist problematisch, wenn die Anzahl der Elemente zunimmt.

Referenzierte Site: Python UnicodeEncodeError kennen

# -*- coding:utf-8 -*-
#Überprüfen Sie den Standardwert, der auf der obigen Site angezeigt wird.
import sys, codecs
#Aus irgendeinem Grund kann es sein, dass der in der nächsten Zeile nicht bestanden wird. Ist es ein Versionsproblem?#sys.stdout = codecs.EncodedFile(sys.stdout, 'utf_8')
sys.stdout = codecs.lookup(u'utf_8')[-1](sys.stdout)
print "sys.getdefaultencoding() => ",sys.getdefaultencoding()
print "sys.stdout.encoding => ",sys.stdout.encoding

#Test von hier

alist = [ u"Unicode-Japanisch", u"Korrekt"]

for st in alist :
    print st

print u"{0}{1}".format(*alist)

print map(str,alist)

Das Folgende ist die Ausgabe.

sys.getdefaultencoding() =>  ascii
sys.stdout.encoding =>  UTF-8
Unicode-Japanisch
Korrekt
Es ist Unicode-Japanisch
---------------------------------------------------------------------------
UnicodeEncodeError                        Traceback (most recent call last)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
    202             else:
    203                 filename = fname
--> 204             __builtin__.execfile(filename, *where)

/Users/yuuichi/test-print/test.py in <module>()
     15 print u"{0}{1}".format(*alist)
     16
---> 17 print map(str,alist)

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)

Recommended Posts

Geben Sie eine Liste der Unicode-Zeichenfolgen aus
Ausgabezeilen mit der angegebenen Zeichenfolge
Ausgabe 2017 Premium Friday List in Python
numpy> Zufällige Listenausgabe> zip () / print%
String-Konvertierung einer Liste mit Zahlen
Listenelemente ohne '' verbinden. (String aus der Liste ohne '' abrufen)