기사나 소설을 읽을 때 어떤 단어가 본문에 가장 많이 나오는지, 몇 번 나오는지 알고 싶을 때 어떻게 해야 할까요? Python은 간단한 코드로 이 작업을 수행할 수 있습니다. 또한 주인공이 누구인지, 누구의 이름으로 소설에 가장 많이 등장하는지, 어떤 문장이 나오는지 확장해서 유추해 볼 수도 있습니다. 만트라는 무엇입니까? 매우 흥미롭지 않나요?
아이디어:
은 먼저 각 문자를 추출하여 목록에 넣는 것입니다. ;
그런 다음 구두점을 필터링합니다.
마지막으로 사전을 사용하여 특정 단어의 빈도를 누적합니다.
관련 추천: "python 비디오 튜토리얼"
소설 Fanghua를 예로 들어보세요:
#coding:utf-8 word_lst = [] word_dict = {} exclude_str = ",。!?、()【】<>《》=:+-*—“”…" with open("芳华.txt","r") as fileIn ,open("芳华字频.txt",'w') as fileOut: # 添加每一个字到列表中 for line in fileIn: for char in line: word_lst.append(char) # 用字典统计每个字出现的个数 for char in word_lst: if char not in exclude_str: if char.strip() not in word_dict: # strip去除各种空白 word_dict[char] = 1 else : word_dict[char] += 1 # 排序 # x[1]是按字频排序,x[0]则是按字排序 lstWords = sorted(word_dict.items(), key=lambda x:x[1], reverse=True) # 输出结果 (前100) print ('字符\t字频') print ('=============') for e in lstWords[:100]: print ('%s\t%d' % e) fileOut.write('%s, %d\n' % e)
字符 字频 ============= 的 3641 一 1834 了 1748 是 1506 不 1267 我 1229 她 1156 他 985 小 962 个 921 人 866 在 853 刘 745 丁 728 那 723 上 705 来 698 峰 691 们 684 就 667 说 577 有 572 到 564 这 562 里 537 儿 520 嫚 499 子 494 都 492 着 491 大 482 么 462 出 460 看 441 也 415 得 404 下 383 时 367 还 366 女 349 地 340 头 331 好 327 没 326 去 321 过 320 老 317 跟 311 你 309 把 307 对 303 年 301 会 300 生 291 为 289 发 289 要 281 何 280 亲 273 后 272 给 267 和 266 天 265 家 259 手 251 长 251 想 249 多 242 自 241 开 240 当 236 兵 235 样 232 郝 230 可 228 起 225 被 224 成 216 十 215 什 215 以 209 事 209 从 209 点 208 能 203 两 203 回 202 门 201 所 195 淑 188 雯 188 只 188 心 184 身 184 让 179 道 179 母 174 做 173 话 173 最 172 >>>
위 내용은 Python에서 텍스트의 단어 빈도를 계산하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!