@黄哥 所提到的 jieba 模块对于中文句子的分词很有帮助,在统计的时候可以使用 collections 中的 Counter 模块进行统计。
txt 文本内容:
奶奶家养了一只狗。狗全身的毛是棕黄色的。两只耳朵尖尖的,像两个三角形,竖立在头上。眼睛亮亮的,看着你的时候,很无辜的样子,你会觉得它很可爱。它喜欢到处乱跑,见到爷爷奶奶的时候就会摇自己长长的尾巴,好像在打招呼。狗非常喜欢吃骨头。每次吃饭的时候,它就用鼻子到处闻,寻找骨头。中午,奶奶做了排骨。我马上拿起筷子夹了块排骨吃。排骨吃完了,我把骨头丢在地上。只见大狗马上跑过来,把骨头叼到桌子下,然后,慢慢地品尝。狗还会看家。晚上,一旦有陌生人经过,它就会“汪汪”直叫,好像在警告他们:“不准进我家。这个家里,我当家!”因为大狗的守护,奶奶家没有被小偷偷过一样东西。奶奶家的狗真了不起,我很喜欢它。
处理代码:
# coding: utf-8
# !/usr/bin/python
"""@File : 分词.py@Author : jiaming@Modify Time: 2020/5/6 16:32@Contact : https://blog.csdn.net/weixin_39541632@Version : 1.0@Desciption : None"""
import jieba
from collections import Counter
with open("words.txt", "r", encoding="utf-8") as f:
word = f.read()
# 返回列表
seg_list = jieba.lcut(word, cut_all=True)
print("【返回列表】\n{0}".format(seg_list))
# ['奶奶', '奶奶家', '家养', '了', '一只', '狗', '', '', '狗', '全身', '的', '毛', '是', '棕黄', '棕黄色', '黄色', '的', '', '', '两只', '耳朵', '耳朵尖', '尖', '的', '', '', '像', '两个', '三角', '三角形', '角形', '', '', '竖立', '在', '头上', '', '', '眼睛', '亮亮的', '', '', '看着', '你', '的', '时候', '', '', '很', '无辜', '的', '样子', '', '', '你', '会', '觉得', '它', '很', '可爱', '', '', '它', '喜欢', '到处', '乱跑', '', '', '见到', '爷爷', '爷爷奶奶', '奶奶', '的', '时候', '就', '会', '摇', '自己', '长长', '长长的', '尾巴', '', '', '好像', '在', '打招呼', '招呼', '', '', '狗', '非常', '喜欢', '吃', '骨头', '', '', '每次', '吃饭', '的', '时候', '', '', '它', '就', '用', '鼻子', '到处', '闻', '', '', '寻找', '骨头', '', '', '中午', '', '', '奶奶', '做', '了', '排骨', '', '', '我', '马上', '拿起', '筷子', '夹', '了', '块', '排骨', '吃', '', '', '排骨', '吃', '完', '了', '', '', '我', '把', '骨头', '丢', '在', '地上', '', '', '只见', '大', '狗', '马上', '跑过来', '过来', '', '', '把', '骨头', '叼', '到', '桌子', '下', '', '', '然后', '', '', '慢慢', '地', '品尝', '', '', '狗', '还', '会', '看家', '', '', '晚上', '', '', '一旦', '有', '陌生', '陌生人', '生人', '经过', '', '', '它', '就', '会', '', '', '汪汪', '', '', '直', '叫', '', '', '好像', '在', '警告', '他们', '', '', '', '不准', '进', '我家', '', '', '这个', '家里', '', '', '我', '当家', '', '', '', '因为', '大', '狗', '的', '守护', '', '', '奶奶', '奶奶家', '没有', '被', '小偷', '偷偷', '过', '一样', '东西', '', '', '奶奶', '奶奶家', '的', '狗', '真', '了不起', '', '', '我', '很', '喜欢', '它', '', '']
c = Counter(seg_list)
print(print(sorted(dict(c).items(), key=lambda kv:(kv[1], kv[0]), reverse=True)))
处理结果:
[('', 80), ('的', 9), ('狗', 7), ('它', 5), ('奶奶', 5), ('骨头', 4), ('我', 4), ('在', 4), ('会', 4), ('了', 4), ('时候', 3), ('排骨', 3), ('很', 3), ('就', 3), ('奶奶家', 3), ('喜欢', 3), ('吃', 3), ('马上', 2), ('把', 2), ('好像', 2), ('大', 2), ('到处', 2), ('你', 2), ('鼻子', 1), ('黄色', 1), ('非常', 1), ('陌生人', 1), ('陌生', 1), ('闻', 1), ('长长的', 1), ('长长', 1), ('进', 1), ('这个', 1), ('还', 1), ('过来', 1), ('过', 1), ('跑过来', 1), ('警告', 1), ('角形', 1), ('觉得', 1), ('见到', 1), ('被', 1), ('自己', 1), ('耳朵尖', 1), ('耳朵', 1), ('经过', 1), ('筷子', 1), ('竖立', 1), ('眼睛', 1), ('真', 1), ('看着', 1), ('看家', 1), ('直', 1), ('用', 1), ('生人', 1), ('爷爷奶奶', 1), ('爷爷', 1), ('然后', 1), ('没有', 1), ('汪汪', 1), ('毛', 1), ('每次', 1), ('棕黄色', 1), ('棕黄', 1), ('桌子', 1), ('样子', 1), ('有', 1), ('晚上', 1), ('是', 1), ('无辜', 1), ('摇', 1), ('拿起', 1), ('招呼', 1), ('打招呼', 1), ('我家', 1), ('慢慢', 1), ('当家', 1), ('尾巴', 1), ('尖', 1), ('小偷', 1), ('寻找', 1), ('家里', 1), ('家养', 1), ('完', 1), ('守护', 1), ('夹', 1), ('头上', 1), ('块', 1), ('地上', 1), ('地', 1), ('因为', 1), ('品尝', 1), ('吃饭', 1), ('叼', 1), ('可爱', 1), ('叫', 1), ('只见', 1), ('到', 1), ('全身', 1), ('像', 1), ('偷偷', 1), ('做', 1), ('他们', 1), ('亮亮的', 1), ('了不起', 1), ('乱跑', 1), ('中午', 1), ('两只', 1), ('两个', 1), ('丢', 1), ('东西', 1), ('不准', 1), ('下', 1), ('三角形', 1), ('三角', 1), ('一样', 1), ('一旦', 1), ('一只', 1)]
欢迎关注我的 CSDN 博客,里面有更多精彩 Python 知识分享。CSDN-专业IT技术社区-登录jiaming.blog.csdn.net