gpt4 book ai didi

comparison - 如何比较两个规则列表?

转载 作者:行者123 更新时间:2023-12-02 22:24:22 28 4
gpt4 key购买 nike

我需要比较两个 var -> integer 形式的规则列表,以了解不匹配的情况。
判断是否存在lhs相同而rhs不同的规则。

例如:

{a->3, b->1, c->4} ~ ??? ~ {a->3, b->1, c->4} = true
{a->3, b->1, c->4} ~ ??? ~ {a->3, b->2, c->4} = false
{a->3, b->1, c->4} ~ ??? ~ {a->1, b->3, c->4} = false
{a->3, b->1, c->4} ~ ??? ~ {c->4, d->8, e->9} = true
{a->3, b->1, c->4} ~ ??? ~ {d->8, e->9, f->7} = true

在我的例子中,它们已经按lhs排序,并且所有lhs都是唯一的,如果它有助于使函数尽可能简单。

UPD:忘记了一件事!列表的长度可以不同。但似乎当前所有三个答案仍然有效。

最佳答案

这是另一个解决方案:

In[12]:= check[a:{__Rule}, b:{__Rule}] := FilterRules[a, b] === FilterRules[b, a]

In[18]:= {{a -> 3, b -> 1, c -> 4}~check ~ {a -> 3, b -> 1, c -> 4} ,
{a -> 3, b -> 1, c -> 4}~check ~ {a -> 3, b -> 2, c -> 4},
{a -> 3, b -> 1, c -> 4}~check ~ {a -> 1, b -> 3, c -> 4},
{a -> 3, b -> 1, c -> 4}~check ~ {c -> 4, d -> 8, e -> 9},
{a -> 3, b -> 1, c -> 4}~check ~ {d -> 8, e -> 9, f -> 7}}

Out[18]= {True, False, False, True, True}

(这依赖于选项列表已经排序的事实。)

关于comparison - 如何比较两个规则列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7725482/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com