python - 二维字典计数器

标签 python

我需要在 Python 中从列表实现一个二维计数器。我见过很多解决方案,但是它们不考虑初始零值来进行计数。我应该如何改变这个:

[
  (P1, B1),
  (P1, B2),
  (P2, B1),
  (P2, B1),
  (P3, B1)
]

进入这个?:

{ 
  P1: { 
    B1: 1,
    B2: 1
  },
  P2: {
    B1: 2
  },
  P3: {
    B1: 1
  }
}

最佳答案

d=defaultdict(lambda:defaultdict(int))
for k,v in items:
    d[k][v] += 1

我认为应该有效

关于python - 二维字典计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31530283/

相关文章:

python - 在Python中迭代对象实例的特定属性

python - 尝试在 django 中迁移 mysql 数据库时出现 ConnectionDoesNotExist 错误

python - 确定方法的参数是否为 "self"

Python Selenium 如何单击特定文本旁边的按钮?

python - 从 Scipy 过滤器设计构建 SymPy 有理函数

python - 在两个属性中拆分类属性

python - 修改一个linux文件,用Python保存

python sge api提交到特定节点

python - 设置复制警告和隐藏链接

python - 如何使用 Django ORM 获取查询集作为连接查询的结果?