python2.7:为什么打印中文样式列表如[u'\ u4ed6',u'\ u6765 \ u5230',u'\ u4e86',u'\ u7f51 \ u6613']?
问题描述:
我用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]
结果是:
他, 来到, 了, 网易, 杭研, 大厦, !
了
了
答
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'])
['他']
感谢您友好的答案! – tktktk0711