超集计算的python集处理

2024-04-25 17:33:45 发布

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

我现在有三个输入

combs_dict = {frozenset({'time'}): '0', frozenset({'rfid'}): '0', frozenset({'rfid', 'time'}): '0', frozenset({'zone', 'rfid'}): '0', frozenset(): '0', frozenset({'zone', 'time'}): '0', frozenset({'zone'}): '0'}

prob_dict = {'2': '0.5', '4': '0.05', '3': '0.3', '1': '0.15'}

map_dict = {'2': {frozenset({'rfid', 'time'}), frozenset({'zone', 'time'})}, '4': {frozenset({'rfid', 'zone'})}, '1': {frozenset({'zone', 'time'})}, '3': {frozenset({'rfid', 'time'}), frozenset({'rfid', 'zone'})}}

我试图比较combs_dict和map_dict。如果combs_dict中的任何键是map_dict值中任何元素的超集(>;=),那么我必须将prob_dict中该键的对应prob添加到combs_dict的值中

例如,如果我从combs_dict获取frozenset({'rfid','time'}),并与map_dict中的值进行比较,发现它是这个{'2':{frozenset({'rfid','time})、frozenset({'zone','time})和这个'3':{frozenset({rfid','time'})的超集,因为它们都有它的等价或子集。我必须从prob_dict得到键2和3的概率,并用combs_dict中的值(frozenset({'rfid','time}):'0'+'0.5+'0.05')。在

我现在尝试的是

^{pr2}$

但是我不能在v中加上概率,因为j是作为生成器返回的。有人能帮忙吗。有没有使用多处理并行化的选择?因为在comb_dict中将有近50k个冻结集,所以我必须将每个冻结集与map_output中的每个元素进行比较。在

如果有什么不清楚的,请告诉我。我会解释的。在


Tags: gtzone元素maptime概率dict子集