我有以下清单
[['pm', 15], ['pm', 15], ['pm', 15], ['pm', 15], ['gvt', 1], ['tools', 2], ['drm', 14], ['vgem', 12], ['template', 2], ['gem', 101], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['gem', 150], ['kms', 7], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['meta', 8], ['drv', 24], ['gen3', 5], ['sw', 18], ['syncobj', 81], ['gen7', 1], ['testdisplay', 1], ['debugfs', 3], ['perf', 27], ['core', 17], ['prime', 134]]
我正在努力使复发,例如:
从列表的这一部分
['pm', 15], ['pm', 15], ['pm', 15], ['pm', 15]
我想得到以下信息:
pm发现了4次,4个值为15
另一个例子:
['kms', 7], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150], ['kms', 150]
kms发现了10次,其中9次为150,1次为7
到目前为止,我想知道如何才能做到这一点?你知道吗
您可以使用
itertools.groupby
和collections.Counter
:输出:
输出语法有点泛化,但我相信你能把它修好。你知道吗
如果将这些记录转换为元组对您来说不是问题,那么您可以使用
Counter
来解决问题。你知道吗示例解决方案
希望有帮助。你知道吗
您可以使用Counter和defaultdict的组合
返回包含以下键的词典:
现在,您可以通过以下方式获取事件:
退货:
更新
另一种解决方案是从一开始就使用嵌套的defaultdict:
相关问题 更多 >
编程相关推荐