用python对单词进行分组计数

2024-04-18 18:07:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张单子。我用以下公式计算它们:

cnt = Counter()
 for word in keywords:
  cnt[word] += 1
  cnt

使用此代码后,我的文字看起来像:

android :3
windows :2
apple :5
samsung :2
motorola :2
iphone :3
nokia :5
alcatel :1

现在我将其分组,结果如下所示:

5 : apple
3 : android iphone
2 : windows samsung motorola
1 : alcatel


Tags: inappleforwindowscounterword单子android
1条回答
网友
1楼 · 发布于 2024-04-18 18:07:49

可以使用defaultdict,将默认工厂设置为list,然后将Counter馈送给它

from collections import defaultdict
d = defaultdict(list)
for key, value in cnt.items():
     d[value].append(key)     

for key, value in d.items():                                                
   print '{}:{}'.format(key, " ".join(value))                              

2:windows
3:android iphone
5:apple
....    

另外,您应该能够直接初始化Counter,如下所示

cnt = Counter(keywords)

相关问题 更多 >