統計文件中前5個高頻詞個數並輸出

2022-08-30 18:33:11 字數 953 閱讀 1305

import jieba

ls="

中國是乙個偉大的國家,是乙個好的國家

"print(

'原始文件為:

',ls)

counts={} # 定義統計字典

words=jieba.lcut(ls)

print(

'分好的片語為:

',words)

for word in

words:

counts[word]=counts.get(word,0)+1

print(

'生成的字典為:

',counts)

print(

'字典的元素為:

',counts.items())

#字典元組轉換為列表

items=list(counts.items())

print(

'counts的元素生成新的列表:

',items)

#列表按第2個值進行排序-降序reverse=true,預設公升序

items.sort(key=lambda x:x[1],reverse=true)

print(

'按元組中第二維值排序後的列表為:

',items)

#轉出列表前5個

for i in range(5

): word,count=items[i]

print(

"---

".format(word,count))

#------------

for word in

words:

if len(word) ==1

: #增加乙個判斷是否為片語

continue

else

: counts[word] = counts.get(word,0)+1

如何從大量資料中找出高頻詞?

有乙個 1gb 大小的檔案,檔案裡每一行是乙個詞,每個詞的大小不超過 16b,記憶體大小限制是 1mb,要求返回頻數最高的 100 個詞 top 100 由於記憶體限制,我們依然無法直接將大檔案的所有詞一次讀到記憶體中。因此,同樣可以採用分治策略,把乙個大檔案分解成多個小檔案,保證每個檔案的大小小於...

大資料面試題 如何從大量資料中找出高頻詞

問題描述 有乙個1gb大小的檔案,檔案裡面每一行是乙個詞,每個詞的大小不超過16b,記憶體大小限制為1mb,要求返回頻數最高的100個詞。分析 由於檔案大小為1gb,而記憶體的大小只有1mb,因此不能一次把所有的詞讀入到記憶體中去處理,可以採用分治的方法進行處理 把乙個檔案分解為多個小的子檔案,從而...

大資料面試題 如何從大量資料中找出高頻詞

有乙個1gb大小的檔案,檔案裡面每一行是乙個詞,每個詞的大小不超過16b,記憶體大小限制為1mb,要求返回頻數最高的100個詞。由於檔案大小為1gb,而記憶體的大小只有1mb,因此不能一次把所有的詞讀入到記憶體中去處理,可以採用分治的方法進行處理 把乙個檔案分解為多個小的子檔案,從而保證每個檔案的大...