我有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)
。为什么这种方法不起作用,如何使它起作用?
答案 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线程。