我正在尝试通过列表线程MemberQ,即:

我有

a={{1, 9}, {2, 5}, {3, 1}, {4, 3}};
b= {1, 5, 2, 6};


理想情况下,我希望有一个线程化且可列出的MemberQ函数TLMemberQ来执行以下操作:

TLMember[a,b]返回{True,True,False,False}。如何以最快的速度执行此操作。
注意:Thread@MemberQMemberQ@Thread均不起作用。 MemberQ属性是Protected

最佳答案

这个:

MapThread[MemberQ, {a, b}]




看看它是做什么的:

Trace[
    MapThread[MemberQ, {a, b}],
    MemberQ
]
(*
{{MemberQ[{1,9},1],True},
 {MemberQ[{2,5},5],True},
 {MemberQ[{3,1},2],False},
 {MemberQ[{4,3},6],False}}
*)

关于wolfram-mathematica - 使MemberQ在Mathematica中可列出或对MemberQ函数进行线程化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6883808/

10-11 06:36