从多维列表中计算唯一日期

时间:2014-04-10 23:46:02

标签: python-2.7 django-1.4

我正在查询潜在客户的数据库。潜在客户有一个"潜在客户生成日期"并且可能"关闭"日期。

我想要做的是为Google Visualization API以[MM / YYYY,潜在客户生成,潜在客户关闭]格式获取每月生成的潜在客户/潜在客户每月的总数。

我有我的查询逻辑集,目前的结果类似于:

[
["09/2011","09/2011"],
["09/2011","10/2011"],
["10/2011","12/2011"],
...
]

我很难想出一个有效的方法来解析这个并获得结果:

[
["09/2011", 2, 1],
["10/2011", 1, 1],
["12/2011", 0, 1]
]

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

这不是那么美丽,但这应该有效:

from collections import defaultdict

d1 = defaultdict(int)
d2 = defaultdict(int)

data = [["09/2011","09/2011"],["09/2011","10/2011"],["10/2011","12/2011"]]

for d in data:
    d1[d[0]] += 1
    d2[d[1]] += 1

out = []
for key in set(d1.keys()) | set(d2.keys()):
    out.append([key, d1.get(key, 0), d2.get(key, 0)])