Mathematica 如何按子表中每个元素出现的位置输出对应的表?
如何按子表中每个元素出现的位置输出对应的表?例如:输入:s1={{a,b,c,d,e},{b,e,d,f},{g,d,b,g,a}};s2={{1,2,3},{4,2},...
如何按子表中每个元素出现的位置输出对应的表?
例如:
输入:
s1={{a,b,c,d,e},{b,e,d,f},{g,d,b,g,a}};
s2={{1,2,3},{4,2},{{3}}};
输出:
s3={{{{{a,b,c},{d,b},{{c}}}},{{{b,e,d},{f,e}},{{d}}}},{{{g,d,b},{g,d}},{{b}}}}}
说明: (1) s2是任意形式任意层的数值列表;
(2) s2中每个数表示s1每个子表中某个元素的序列位置,即s2中的每个数值ki表示s1中每个子表的第ki个元素。例如s1中的1表示s1中第一个子表中的第1个元素a, 也表示第二个子表中的第1个元素b, 也表示第三个子表中的第1个元素g,其余类推;
(3) s3是按s2的列表式,对s1中每个子表输出一个对应表来.
(4) 其中s2中的最大值不大于s1中最小子表元素的个数
上面书写有一处笔误,s3应该是:
s3={{{{a,b,c},{d,b},{{c}}}},{{{b,e,d},{f,e}},{{d}}}},{{{g,d,b},{g,d}},{{b}}}}} 展开
例如:
输入:
s1={{a,b,c,d,e},{b,e,d,f},{g,d,b,g,a}};
s2={{1,2,3},{4,2},{{3}}};
输出:
s3={{{{{a,b,c},{d,b},{{c}}}},{{{b,e,d},{f,e}},{{d}}}},{{{g,d,b},{g,d}},{{b}}}}}
说明: (1) s2是任意形式任意层的数值列表;
(2) s2中每个数表示s1每个子表中某个元素的序列位置,即s2中的每个数值ki表示s1中每个子表的第ki个元素。例如s1中的1表示s1中第一个子表中的第1个元素a, 也表示第二个子表中的第1个元素b, 也表示第三个子表中的第1个元素g,其余类推;
(3) s3是按s2的列表式,对s1中每个子表输出一个对应表来.
(4) 其中s2中的最大值不大于s1中最小子表元素的个数
上面书写有一处笔误,s3应该是:
s3={{{{a,b,c},{d,b},{{c}}}},{{{b,e,d},{f,e}},{{d}}}},{{{g,d,b},{g,d}},{{b}}}}} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询