【发布时间】:2022-01-11 11:04:01
【问题描述】:
我尝试计算变量中单词出现的频率。变量计数超过 700.000 个观察值。输出应返回包含出现次数最多的单词的字典。我使用下面的代码来做到这一点:
d1 = {}
for i in range(len(words)-1):
x=words[i]
c=0
for j in range(i,len(words)):
c=words.count(x)
count=dict({x:c})
if x not in d1.keys():
d1.update(count)
我已经运行了前 1000 次观察的代码,它运行良好。输出如下所示:
[('semantic', 23),
('representations', 11),
('models', 10),
('task', 10),
('data', 9),
('parser', 9),
('language', 8),
('languages', 8),
('paper', 8),
('meaning', 8),
('rules', 8),
('results', 7),
('performance', 7),
('parsing', 7),
('systems', 7),
('neural', 6),
('tasks', 6),
('entailment', 6),
('generic', 6),
('te', 6),
('natural', 5),
('method', 5),
('approaches', 5)]
当我尝试运行它进行 100.000 次观察时,它会继续运行。我已经尝试了超过 24 小时,但仍然无法执行。有人有想法吗?
【问题讨论】:
-
定义一个字典并遍历列表一次。每次看到一个新单词时,您将其添加为值为 1 的键,否则如果该单词已存在于字典中,则增加其值。
-
有道理,我对python比较陌生,所以也许你可以帮我提供代码?
标签: python large-data word-count find-occurrences