2017-09-27 8 views
1

単語分割のためにjieba chinese辞書を使用しました。
私は単語のリストを印刷すると、結果は以下の通りです: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.1または1e-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

関連する問題