Python列表中包含中文時輸出十六進制轉中文的小方法

現象:列表中的中文打印出來後顯示爲十六進制

>>> 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'>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章