jieba分词用法
jieba.cut(str,cut_all,HMM) #cut_all=True全模式False精确模式,默认精确模式 jieba.cut_for_search(str,HMM) #搜索引擎模式 #以上两种分词模式返回的都是一个可迭代的generator,可用for循环 jieba.lcut jieba.lcut_for_search #以上两种直接返回list jieba.suggest_freq((‘a‘,‘b‘),True) #不会被切割的词ab将会被切割 jieba.suggest_freq(‘ab‘,True) #会被切割的词ab不会再被切割 #对字典的键进行排序 dic = {‘a‘:1,‘c‘:4,‘b‘:2} sorted(dic.keys()) #对值进行排序 sorted(dic.items(),key=lambda item:item[1],reverse=True)
sorted函数按key值对字典排序
先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。
其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。
这里的d.items()实际上是将d转换为可迭代对象,items()方法将字典的元素转化为了元组,而这里key参数对应的lambda表达式的意思则是选取元组中的第二个元素作为比较参数(如果写作key=lambda item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。lambda x:y中x表示输出参数,y表示lambda函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。