二维字典计数器

时间:2015-07-21 04:16:59

标签: python

我需要从列表中实现Python中的二维计数器。我已经看过很多解决方案,但他们不考虑初始零值来计算。我应该如何改变这个:

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

进入这个?:

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

1 个答案:

答案 0 :(得分:3)

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

我认为应该工作