我有两个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集成。