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中的元組。
