Mathematica 如何列出相同元素的位置表?

如何列出相同元素的位置表?例如::输入:s1={a,a,a,b,b,c,e,h,e,b};s2={a,e,b};输出:s3={{1,2,3},{7,9},{4,5,10}... 如何列出相同元素的位置表?
例如:
:输入: s1={a,a,a,b,b,c,e,h,e,b};
s2={a,e,b};
输出: s3={{1,2,3},{7,9},{4,5,10}}
因为: a在s1中的位置是{1,2,3}, e在s1中的位置是{7,9}, b在s1中的位置是{4,5,10},
因此: s3={{1,2,3},{7,9},{4,5,10}},谢谢!
展开
 我来答
frams
2014-12-16 · TA获得超过781个赞
知道小有建树答主
回答量:228
采纳率:100%
帮助的人:241万
展开全部
自带函数里没有这个功能,不过可以下面一个语句实现:
Map[Flatten[Position[s1, #]] &, s2]
详细说明:
Position[s1,a] 给出 {{1}, {2}, {3}} 与你要的格式不同,经过 Flatten 以后变成 {1, 2, 3},写成函数的形式为 Flatten[Position[s1, #]] &,利用 Map 作用于 s2 的每一个元素上。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式