网易首页 > 网易号 > 正文 申请入驻

Python:字典方法(词频统计相关)

0
分享至

在文本分析、日志处理以及自然语言处理中,词频统计(word frequency counting)通常以字典(dict)作为核心数据结构来保存统计结果。

字典是一种键值映射结构:

• 键(key):词项(word / term)

• 值(value):出现次数(frequency)

例如:

}

在词频统计流程中:

• 字符串方法负责文本清洗与切分

• 字典方法负责统计、更新与管理词频结果

字典提供基于哈希表(hash table)的键值映射结构,能够以平均 (1) 时间复杂度完成查找与更新,因此非常适合词频统计这一类“动态计数”任务。

一、创建与初始化词频字典

在统计开始前,通常需要创建一个空字典,用于保存统计结果。

freq = {}

当遍历词列表时,可以逐步更新字典中的统计值。

示例:

print(freq)

输出:

{'apple': 3, 'banana': 2, 'orange': 1}

这种方式体现了字典统计的基本逻辑:

• 若键不存在,则创建

• 若键存在,则更新值

二、安全读取词频值

在统计过程中,经常需要读取某个词当前的统计值。如果该词尚未出现,则可能产生异常。

get()

返回指定键对应的值;若键不存在,则返回默认值。

dict.get(key[, default])

参数说明:

• key:要查询的键

• default:键不存在时返回的默认值(默认 None)

示例:

print(freq.get("orange", 0))

输出:

0

在词频统计中,get() 常用于避免 KeyError。

例如:

    freq[w] = freq.get(w, 0) + 1

这种写法是 Python 中最常见的词频统计模式。

setdefault()

用于在访问键的同时,为不存在的键设置默认值。

dict.setdefault(key[, default])

参数说明:

• key:要查询的键

• default:当键不存在时插入的默认值(默认 None)

返回值:

• 若键存在,返回该键对应的值

• 若键不存在,则插入 key: default,并返回 default

示例:

print(freq)

输出:

{'apple': 3, 'banana': 0}

解释:

• "apple" 已存在,因此直接返回 3

• "banana" 不存在,因此创建 "banana": 0 并返回 0

在词频统计中,setdefault() 也可以用于初始化计数。

例如:

    freq[w] += 1

不过在实际代码中,更常见的写法仍然是使用 get() 函数。

三、更新词频统计

在统计过程中,需要不断更新字典中的值。

update()

使用另一个映射或键值对更新字典。

dict.update([other])

参数说明:

• other:映射对象(mapping)或 (key, value) 对序列

示例:

print(freq)

输出:

{'apple': 3, 'banana': 2}

在词频统计中,update() 主要用于合并统计结果。

例如:

freq1.update(freq2)

注意:

update() 会直接覆盖旧值,而不是累加,因此不适合直接合并两个词频统计结果。

如果需要累加词频,应当使用循环、 或自定义合并逻辑,因为 update() 的语义是覆盖映射关系,而不是执行数值运算。

四、删除词项

在某些场景下,需要从统计结果中删除某些词项,例如停用词(stopwords)或低频词。

pop()

删除指定键并返回其值。

dict.pop(key[, default])

参数说明:

• key:要删除的键

• default:键不存在时返回的默认值

示例:

print(freq)

输出:

{'apple': 3, 'banana': 2}

popitem()

删除并返回字典中的最后一个键值对(Python 3.7+ 为 LIFO)。

这是因为 Python 3.7 起字典保持插入顺序,因此 popitem() 会移除最近插入的元素。

dict.popitem()

示例:

print(freq.popitem())

输出:

('banana', 2)

该方法较少用于词频统计,但在某些数据结构处理中有价值。

五、遍历词频字典

统计完成后,通常需要遍历字典进行输出或进一步处理。

keys()

返回字典的所有键。

dict.keys()

示例:

    print(word)

输出:

banana

values()

返回字典的所有值。

dict.values()

示例:

print(list(freq.values()))

输出:

[3, 2]

items()

返回键值对视图。

dict.items()

示例:

    print(word, count)

输出:

banana 2

在词频统计中,items() 是最常用的遍历方式。

六、排序与输出

词频统计完成后,常常需要按照频次排序输出。

排序通常要用到内置函数 sorted(),并与字典的 items() 结合使用。

示例:

print(result)

输出:

[('apple', 3), ('banana', 2), ('orange', 1)]

解释:

• freq.items() 返回 (word, count) 结构

• item[1] 表示按频次排序

• reverse=True 表示降序排列

七、词频统计流程示例

下面给出一个简单的英文词频统计示例。

    

小结

在词频统计任务中,字典(dict)是保存统计结果的核心数据结构。通过 get() 可以安全地读取并更新计数,通过 update() 与 pop() 可以管理统计结果,通过 keys()、values()、items() 可以遍历词频数据,再结合 sorted() 即可完成按频次排序输出。字典基于哈希表实现,能够以接近 (1) 的效率完成查找与更新,因此非常适合动态词频统计。


点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
郭德纲篡改红歌事件通报来了:相关单位合计被罚没近65万,郭德纲的处罚一句带过

郭德纲篡改红歌事件通报来了:相关单位合计被罚没近65万,郭德纲的处罚一句带过

Mr王的饭后茶
2026-09-07 19:13:17
死在加州路边的阿里总监:最残忍的不是没钱,是枕边人不如网友亲

死在加州路边的阿里总监:最残忍的不是没钱,是枕边人不如网友亲

杰丝聊古今
2026-09-07 09:12:22
保利集团董事长贺平的人生颇具传奇色彩:他娶了邓小平的女儿为妻,还曾低调斥资3000万元收回三件国宝

保利集团董事长贺平的人生颇具传奇色彩:他娶了邓小平的女儿为妻,还曾低调斥资3000万元收回三件国宝

z千年历史老号
2026-09-07 11:43:45
阿根廷总统震怒“香港回归中国,英国凭什么还霸着马岛?”

阿根廷总统震怒“香港回归中国,英国凭什么还霸着马岛?”

以色列飛飛
2026-09-07 12:00:05
湖南经济为什么掉队了?当地县中医药主任轻飘飘的一句话,让人寒毛倒竖

湖南经济为什么掉队了?当地县中医药主任轻飘飘的一句话,让人寒毛倒竖

回旋镖
2026-09-07 12:45:44
周末悄悄到账3600亿,是在防什么?

周末悄悄到账3600亿,是在防什么?

大猫财经Pro
2026-09-07 13:55:58
以牙还牙,中国稀土正式断供!2026年9月4日,路透社透露,在中国把RBA纳入反制清单后,不少中国稀土供应商叫停了对美发货

以牙还牙,中国稀土正式断供!2026年9月4日,路透社透露,在中国把RBA纳入反制清单后,不少中国稀土供应商叫停了对美发货

扶苏聊历史
2026-09-07 17:32:06
余承东:建议苹果用户买华为阔直板当备用机 备用几天就可能成为主力机

余承东:建议苹果用户买华为阔直板当备用机 备用几天就可能成为主力机

快科技
2026-09-07 17:09:20
“女孩赴港看演唱会全家低保被取消”引热议,制度底线不能被“热爱”冲垮

“女孩赴港看演唱会全家低保被取消”引热议,制度底线不能被“热爱”冲垮

新民周刊
2026-09-07 16:55:42
破冰之旅!时隔两年台官员顶着中国台北四个字登陆,国台办亮底线

破冰之旅!时隔两年台官员顶着中国台北四个字登陆,国台办亮底线

面包夹知识
2026-09-07 18:24:48
南京连夜成立联合调查组

南京连夜成立联合调查组

政知新媒体
2026-09-07 13:31:40
给胖东来供货十七年的牟强说,这里一边是天堂,一边是地狱。天堂是账期短,货款七天左右就能到账,地狱则是...

给胖东来供货十七年的牟强说,这里一边是天堂,一边是地狱。天堂是账期短,货款七天左右就能到账,地狱则是...

背包旅行
2026-09-07 18:50:04
看完账单一身冷汗!深圳三口之家一年花31.4万,都是“刚需”,居然还只是租房

看完账单一身冷汗!深圳三口之家一年花31.4万,都是“刚需”,居然还只是租房

火山詩话
2026-09-06 11:35:39
30年没离开过上海的保安,突然“被北京法院判了”,账户被冻结、欠债百万…

30年没离开过上海的保安,突然“被北京法院判了”,账户被冻结、欠债百万…

上观新闻
2026-09-07 12:38:31
细节曝光!江西低保女生赴港追星,返程后全家2000元补助被清零,女方家庭情况曝光后全网吵翻

细节曝光!江西低保女生赴港追星,返程后全家2000元补助被清零,女方家庭情况曝光后全网吵翻

李晚书
2026-09-07 07:40:43
英格兰公开赛:丁俊晖4-3绝杀!首爆大冷,中国00后新星1-4出局了

英格兰公开赛:丁俊晖4-3绝杀!首爆大冷,中国00后新星1-4出局了

小火箭爱体育
2026-09-07 19:48:28
伊朗在美军舰上空试验特殊武器 警告美方老实点

伊朗在美军舰上空试验特殊武器 警告美方老实点

看看新闻Knews
2026-09-07 16:25:04
幼儿园园长直言:入园不哭的孩子,多半出自这5种家庭,对照看看

幼儿园园长直言:入园不哭的孩子,多半出自这5种家庭,对照看看

小书虫妈妈
2026-09-05 17:35:32
严肃警告:不要买!不要吃!里面含有硼砂,危害健康,别害了自己

严肃警告:不要买!不要吃!里面含有硼砂,危害健康,别害了自己

健身狂人
2026-09-06 13:46:44
欧盟愤怒: 中国货轮来时 2.4 万集装箱满载, 回去啥都不拉合适吗?

欧盟愤怒: 中国货轮来时 2.4 万集装箱满载, 回去啥都不拉合适吗?

江启
2026-09-07 11:21:14
2026-09-07 23:39:02
MediaTea
MediaTea
专业的数字媒体、新媒体技术
2143文章数 86关注度
往期回顾 全部

科技要闻

小米澎程N90 Max定价26.99万元

头条要闻

伊朗试验特殊武器爆炸场面如同地狱 美军舰直接跑了

头条要闻

伊朗试验特殊武器爆炸场面如同地狱 美军舰直接跑了

体育要闻

中超争冠形势:成都蓉城下轮打平夺冠

娱乐要闻

热搜第一,演员李沐宸致歉

财经要闻

证监会原副主席王建军一审被判无期徒刑

汽车要闻

智能可变大空间SUV 小米澎程系列车型上市 20.99万起

态度原创

健康
亲子
教育
游戏
手机

同样是脑梗,为何康复结局大不同?

亲子要闻

低精力的妈妈,务必主动戒掉这个习惯

教育要闻

70%比50%大百分之几

LPL首支决赛队伍诞生!AL被零封上路窒息下路绝望,Tarzar释怀的笑

手机要闻

10999 小米18 Fold发布,新形态中折叠 首发玄戒O3

无障碍浏览 进入关怀版