如何基于DFA1和DFA2的过渡创建DFA联合过渡字典

时间:2018-11-21 18:21:32

标签: python dictionary dfa

我有2个DFA,其过渡如下:

$ kubectl exec -it $(kubectl get pods --selector=run=${service} -o=jsonpath='{.items[?(@.status.phase==“Running”)].metadata.name}') -- bash;

据我了解,统一DFA的增量看起来应该像这样:

DFA1 
{('q0', 'a'): 'q1', ...}

DFA2
{('q0', 'a'): 'q3',...}

如何合并这两个字典以创建统一增量字典的元组?

如果我做{(('q0', 'a'): 'q1'), (('q0', 'a'): 'q3')),...and so on} ,则结果为DFA2.update(DFA1)。为什么这种方法不起作用,如何使它起作用?

1 个答案:

答案 0 :(得分:0)

我建议您将DFA过渡表示为一组元组,而不是字典的键值对。很好,因为您将使用与DFA相关的许多算法来进行集合运算。

示例:

t1 = {('q0', 'a', 'q1'), ('q1', 'a', 'q2'), ...}
t2 = {('q0', 'a', 'q2'), ('q1', 'b', 'q2'), ...}

通过t1.union(t2),您将获得:

{('q0', 'a', 'q1'), ('q0', 'a', 'q2'), ('q1', 'a', 'q2'), ('q1', 'b', 'q2'), ...}

但是,如果您坚持使用字典,则可以引用this线程。