python

时间:2017-11-20 06:26:43

标签: python c++ unix collections defaultdict

我有两个defaultdict,这些defaultdict的大小太大了。这两个defaultdict的示例如下:

a = {'20170101':('a','b','c','d'),'20170102':('a','b','e','g'),'20170103':('w','q','c','d'),'20170104':('m','b','n','d'),'20170105':('a','d','f','h'),'20170106':('a','s','t','i')}
b = {'20170101':('x','y','z','d'),'20170102':('w','b','e','h'),'20170103':('a','b','m','n'),'20170104':('g','a','n','u'),'20170105':('a','d','g','v'),'20170106':('u','v','t','s')}

我想获得各个日期中常见元素的数量,我尝试了以下代码,并且它的工作原理,但现在我想用空间和时间的角度来优化它。

for key in a.viewkeys() & b.viewkeys():
    count = len(set(b[key]) & set(a[key]))
    print key,"-",count

数据非常高。日期中可能有10万个元素。

我是c ++的新手,所以如果有人能帮助构建cpp库并将其与python集成。

0 个答案:

没有答案