現象:列表中的中文打印出來後顯示爲十六進制
>>> lt=['大神','zhzhgo'] >>> print lt ['\xb4\xf3\xc9\xf1', 'zhzhgo'] >>>
首先需要明確,這不是亂碼,這是 unicode 字符串在內存中的形式,python 在命令行界面輸出的數據,如果不是ASCII碼,則會以十六進制形式輸出。
如何使打印出來的結果顯示爲中文呢?解決辦法如下:
#-*-coding:utf-8-*- lt=["大神",'zhzhgo'] str=','.join(lt) #將列表轉換爲字符串 print str print type(str) lt=list(str) print lt print type(lt)
打印結果如下:
大神,zhzhgo
<type 'str'>
['\xe5', '\xa4', '\xa7', '\xe7', '\xa5', '\x9e', ',', 'z', 'h', 'z', 'h', 'g', 'o']
<type 'list'>