我使用jieba中文字典进行分词 当我打印单词列表时,结果如下:
#!/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]
结果是:
他, 来到, 了, 网易, 杭研, 大厦, !
了
了
答案 0 :(得分: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'])
['他']