如何使用计数器对听写值是列表项

2024-03-29 15:35:41 发布

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

我的默认词典如下:

defaultdict(<class 'list'>, {'DrJillStein': [18021496, 30576467, 35175054, 122130797, 227720229, 289019104, 441389311, 456794981, 774180818,763849988988211200], 'realDonaldTrump': [14669951, 22203756, 41634520, 50769180, 75541946, 245963716, 475802156, 2325495378, 720293443260456960, 729676086632656900], 'GovGaryJohnson': [15232635, 19089116, 22330739, 29255194, 44776017, 47490022, 51752944, 73206956, 90573676, 366743017], 'HillaryClinton': [15972271, 34782406, 113298560, 115740215, 325886383, 582037089, 802430450, 3044781131, 729761993461248000, 734768872625188864]})

它包含use_name,然后是ID列表,简而言之->;key=user,value=id列表

我想先找出常见的ID,然后找出所有dict中最常见的5个ID,比如: 如果 id=14669951、15513604、22203756

然后出现如下情况:

{[14669951:2][15513604:4][22203756:7]}

指导我如何在python3.5或更高版本上实现这一点


Tags: keynamegtid列表uselistclass
1条回答
网友
1楼 · 发布于 2024-03-29 15:35:41

collections初始化一个Counter,并请求5most_common

为了初始化Counter,只需提供一个理解:

c = Counter(v for sub in d.values() for v in sub)

我在您的defaultdict中添加了一个额外的id,以获得其中一个的2计数。结果可通过c.most_common(5)获得:

c.most_common(5)
[(14669951, 2),
 (720293443260456960, 1),
 (763849988988211200, 1),
 (366743017, 1),
 (245963716, 1)]

相关问题 更多 >