如何对Counter字典的值求和?统计电影脚本角色台词总词数
计算Counter字典中角色台词的总词数
当然有办法实现!而且有两种简洁的方式,取决于你使用的Python版本,我给你一步步演示:
首先先还原你的数据结构(方便后续测试):
from collections import Counter # 你的原始字典 script_counts = { 'WOMAN': Counter({ 'Mia': 4, 'a': 4, 'the': 4, 'and': 3, 'is': 3, 'on': 3, '--': 3, 'it': 2, 'Then': 2, 'STUDIO': 2, 'Cappuccino,': 1, 'from': 1, 'her.': 1, 'No,': 1, 'I': 1, 'insist.': 1, 'She': 1, 'pays.': 1, 'smiles': 1, 'at': 1, 'drops': 1, 'bill': 1, 'in': 1, 'tip': 1, 'jar...': 1 }) }
方法1:兼容所有Python版本的通用写法
Counter是字典的子类,我们可以直接用*sum()*函数对它的values()结果求和——因为values()会返回所有单词的出现次数,把这些数加起来就是总词数:
total_words = sum(script_counts['WOMAN'].values()) print(total_words) # 输出:43
方法2:Python 3.10+专属的极简写法
如果你用的是Python 3.10或更高版本,Counter新增了*total()*方法,专门用来计算所有元素的总出现次数,代码更简洁直观:
total_words = script_counts['WOMAN'].total() print(total_words) # 同样输出:43
小提示
不确定自己的Python版本?可以在终端输入python --version查看,或者在代码里加一行:
import sys print(sys.version)
内容的提问来源于stack exchange,提问作者tgtrmr
相关产品推荐
相关产品推荐

