python中jieba库的基本知识及使用(cut lcut add_word del_word )
- 一、jieba库是python中的第三方库,而非标准库
- 二.cut方法注意点
- 1.打印对象
- 2.关于cut_all参数
- 三.因此我们应该把生成器中的数据保存在列表或者通过循环遍历出来:
- 1.列表方法:
- 2.循环方法:
- 四.lcut方法
- 五.add_word方法
- 六.del_word方法
一、jieba库是python中的第三方库,而非标准库
因此需要在设置中或者pip安装哦
// An highlighted block
pip install jieba
二.cut方法注意点
1.打印对象
在使用jieba库的cut方法时,返回的是一个可以迭代的生成器,这意味着数据是一个一个返回的不是一次性返回的,所以不可以直接print生成器哦
以下是错误代码演示:
import jieba
txt="没有常春树做自由自在的花"
datas=jieba.cut(txt,cut_all=False)
print(datas)
这段代码输出结果将会是是生成器的信息而非数据哦:
// An highlighted block
<generator object Tokenizer.cut at 0x021FBE60>
(具体原因:这段代码的输出结果是 <generator object Tokenizer.cut at 0x021FBE60> 是因为 jieba.cut 方法默认返回的是一个生成器对象,而不是一个包含分词结果的列表。生成器是一种特殊的迭代器,它可以在迭代过程中逐个生成元素,而不是一次性地计算所有元素,这有助于节省内存。)
2.关于cut_all参数
当cut_all参数为True时 为全模式,会把所有可能的分词都分出来,因此可能会导致数据冗余
而当cut_all参数为False时为精确模式,不会造成过多的数据冗余。推荐~
import jieba
txt="没有常春树做自由自在的花"
datas1=jieba.cut(txt,cut_all=True)
print(list(datas1))
三.因此我们应该把生成器中的数据保存在列表或者通过循环遍历出来:
1.列表方法:
`
import jieba
txt="没有常春树做自由自在的花"
datas1=jieba.cut(txt,cut_all=False)
print(list(datas1))
2.循环方法:
import jieba
txt="没有常春树做自由自在的花"
datas1=jieba.cut(txt,cut_all=False)
for data in datas1:
print(data,end=',')
四.lcut方法
lcut方法和cut方法区别是cut方法返回生成器,而lcut方法返回的是列表
import jieba
txt="没有常春树做自由自在的花"
datas1=jieba.lcut(txt,cut_all=False)
print(datas1)#输出:['没有', '常春', '树', '做', '自由自在', '的', '花']
五.add_word方法
import jieba
txt="没有常春树做自由自在的花"
jieba.add_word("自由自在")
datas1=jieba.lcut(txt,cut_all=False)
print(datas1)#输出结果:['没有', '常春', '树', '做', '自由自在', '的', '花'],指定自由自在是一个词不会对它再分
六.del_word方法
import jieba
txt="没有常春树做自由自在的花"
jieba.del_word("自由自在")
datas1=jieba.lcut(txt,cut_all=False)
print(datas1)