2017-09-27 47 views
1

我用jieba中文词典进行分词。
当我打印的单词列表,结果如下:python2.7:为什么打印中文样式列表如[u' u4ed6',u' u6765 u5230',u' u4e86',u' u7f51 u6613']?

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
import jieba 
import sys 
import jieba 


s1 = "他来到了网易杭研大厦!" 
seg_list = jieba.cut(s1) 
lst1 = ", ".join(seg_list) 
print lst1 
m =lst1.split(', ') 
print m[2] 
punct = set(u''':!),.:;?]}¢'"、。〉》」』】〕〗〞︰︱︳﹐、﹒﹔﹕﹖﹗﹚﹜﹞!),.:;?|}︴︶︸︺︼︾﹀﹂﹄﹏、~¢々‖•·ˇˉ―--′’”([{£¥'"‵〈《「『【〔〖([{£¥〝︵︷︹︻︽︿﹁﹃﹙﹛﹝({“‘-—_…''') 

filterpuntl = list(filter(lambda x: x not in punct, m)) 

print filterpuntl[2] 

结果如下:

他, 来到, 了, 网易, 杭研, 大厦, ! 
[u'\u4ed6', u'\u6765\u5230', u'\u4e86', u'\u7f51\u6613', u'\u676d\u7814', u'\u5927\u53a6', u'!'] 
[u'\u4ed6', u'\u6765\u5230', u'\u4e86', u'\u7f51\u6613', u'\u676d\u7814', u'\u5927\u53a6'] 

如何将[u'\u4ed6', u'\u6765\u5230' ...]改变中国字?

当我打印列表的一个元素,它是中国人:

print m[2] 
print filterpuntl[2] 

结果是:

他, 来到, 了, 网易, 杭研, 大厦, ! 
了 
了 

回答

2

u'\u4ed6'中国的性格。这只是一种不同的表现形式,就像你可以用0.11e-1来写相同的数字一样 - 只是外表不同而已。

如果你想看到正确的字形打印清单等(其发射的repr()形式的对象)时,切换到Python 3:

$ python3 
Python 3.5.2 (default, Aug 18 2017, 17:48:00) 
[GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> print(['\u4ed6']) 
['他'] 
+0

感谢您友好的答案! – tktktk0711

相关问题