python中两个defaultdict的并集

2024-04-25 00:53:45 发布

您现在位置:Python中文网/ 问答频道 /正文

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

数据相当高。日期中可能包含100000个元素。你知道吗

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


Tags: key代码in元素示例forlencount