Mathematica 如何取出匹配的元素?

如何取出匹配的元素?例如;取出与s2匹配的元素输入:s1={{a->x,b->y,c->y,d->x,e->z,e->z,g->z,h->w}};s2={x,w};输出s... 如何取出匹配的元素?
例如; 取出与s2匹配的元素
输入: s1={{a->x,b->y,c->y,d->x,e->z,e->z,g->z,h->w}};
s2={x,w};
输出 s3={a,d,h}
以及任意多层表的元素取出,例如
输入: s1={{a->x,b->y,c->y},{d->x,e->z,e->z,g->z,h->w}}};
s2={x,w};
输出 s3={{a},{d,h}}
展开
 我来答
满意请采纳哟
2015-11-16 · 知道合伙人教育行家
满意请采纳哟
知道合伙人教育行家
采纳数:30594 获赞数:373504
2010年本科毕业于安徽工业大学高分子材料与工程专业,并取得工科学士学位证书。

向TA提问 私信TA
展开全部
提取指定元素的表
例如:
输入; s1={{a,b,x,y,c},{c,d,e,x},{x,a,y,d,z},{z,a,b}}
输出; s2={{a,b,x,y,c},{x,a,y,d,z}}
s3={{a,b,x,y,c},{c,d,e,x},{x,a,y,d,z}}
s4={{c,d,e,x},{z,a,b}}
s5={{z,a,b}}
即: s2------含x与y s3------含x 或y s4------不含x与y s5------不含x 或y
则可如下方式:

s1 = {{a, b, x, y, c}, {c, d, e, x}, {x, a, y, d, z}, {z, a, b}};
s2 = Select[s1, MemberQ[#, x] && MemberQ[#, y] &];
s3 = Select[s1, MemberQ[#, x] || MemberQ[#, y] &];
s4 = Complement[s1, s2];
s5 = Complement[s1, s3];
iUkiyoE
2014-12-28 · TA获得超过643个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:391万
展开全部
s1 = {{a -> x, b -> y, c -> y, d -> x, e -> z, e -> z, g -> z, h -> w}};
s2 = {x, w};
s3 = s1 /. Rule[a_, b_] /; MemberQ[s2, b] :> a /. Rule[a_, b_] -> Sequence[]
==> {{a, d, h}}
s4 = {{a -> x, b -> y, c -> y}, {d -> x, e -> z, e -> z, g -> z, h -> w}};
s5 = {x, w};
s6 = s4 /. Rule[a_, b_] /; MemberQ[s5, b] :> a /. Rule[a_, b_] -> Sequence[]
==> {{a}, {d, h}}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式