解决python打印包含中文的列表显示编码的问题

python打印包含中文的列表,会打印编码的值,比如:

list = ['落花满天', '又闻清香']
print list

输出:

['\xe8\x90\xbd\xe8\x8a\xb1\xe6\xbb\xa1\xe5\xa4\xa9', '\xe5\x8f\x88\xe9\x97\xbb\xe6\xb8\x85\xe9\xa6\x99']

 

解决方案:

# coding=utf-8
list = ['落花满天', '又闻清香']
# 第1种
print '[' + ','.join("'" + str(s) + "'" for s in list) + ']'

# 第2种,要加上这3句,否则会报错
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
print u'[' + u','.join(u"'" + unicode(s) + u"'" for s in list) + u']'

# 第3种,遇到过无效的情况,不推荐
print str(list).decode('string_escape')

输出:

['落花满天','又闻清香']
['落花满天','又闻清香']
['落花满天', '又闻清香']

参考:

http://blog.csdn.net/gududanxing/article/details/26266815

http://blog.csdn.net/poinsettia/article/details/52021845

posted @ 2017-05-21 22:35  夜雨西风  阅读(399)  评论(0编辑  收藏  举报