こんにちは。
リスト内の非ascii文字を見栄え良く print させる方法を、ここから見つけました:"How to print tuples of unicode strings in original language (not u'foo' form)"。
s = [1, '日', ['本']]
print(list_str(s)) # ==> [1, '日', ['本']]
print(s) # ==> [1, '\xe6\x97\xa5', ['\xe6\x9c\xac']]
def list_str(x):
if not isinstance(x, list):
if isinstance(x, str):
return '\'%s\'' % x
return str(x)
items = ', '.join([list_str(x) for x in x])
return '[%s]' % items
また他に、
https://pypi.python.org/pypi/prettyprint の方法は、
import json
def list_str(x):
return eval("u'''%s'''" % json.dumps(x)).encode('utf-8')
s = [1, '日', ['本']]
print(list_str(s)) # => [1, "日", ["本"]]