Mathematica:如何将 x 坐标的嵌套列表和 y 坐标的嵌套列表制作成 (x,y) 坐标的嵌套列表?

Mathematica: How do make a nested list of x coordinates and a nested list of y coordinates into a nested list of (x,y) coordinates?

我有两个嵌套列表:一个有一组 "a through d" 嵌套的 x 坐标,一个有一组 "a through d" 嵌套的 y 坐标。

    xlist={{xa1,xa2,xa3,xa4},{xb1,xb2,xb3,xb4},{xc1,xc2,xc3,xc4}}
    ylist={{ya1,ya2,ya3,ya4},{yb1,yb2,yb3,yb4},{yc1,yc2,yc3,yc4}}

如何制作以下格式的嵌套坐标列表? 最终={{{xa1,ya1},{xa2,ya2},{xa3,ya3},{xa4,ya4}},{{xb1,yb1},{xb2,yb2},{xb3,yb3},{xb4 ,yb4}},{{xc1,yc1},{xc2,yc2},{xc3,yc3},{xc4,yc4}},{{xd1,yd1},{xd2,yd2},{xd3,yd3}, {xd4,yd4}}}

我已经成功地使用以下方法只在第一个元素上完成了我想要的,但我是 Mathematica 的新手,不知道如何创建一个列表来对所有元素执行此操作。

Transpose[{xlist[[1]], ylist[[1]]}]

非常感谢您的帮助!

这个

xlist={{xa1,xa2,xa3,xa4},{xb1,xb2,xb3,xb4},{xc1,xc2,xc3,xc4}};
ylist={{ya1,ya2,ya3,ya4},{yb1,yb2,yb3,yb4},{yc1,yc2,yc3,yc4}};
h[p_,q_]:=Transpose[{p,q}];
final=MapThread[h,{xlist,ylist}]

马上returns

{{{xa1,ya1},{xa2,ya2},{xa3,ya3},{xa4,ya4}},
 {{xb1,yb1},{xb2,yb2},{xb3,yb3},{xb4,yb4}}, 
 {{xc1,yc1},{xc2,yc2},{xc3,yc3},{xc4,yc4}}}

这与您想要的输出完全匹配,只是我不知道您的

 {{xd1,yd1},{xd2,yd2},{xd3,yd3},{xd4,yd4}}

应该来自您的输入。我认为那是一个错字。

与 Mathematica 一样,几乎可以肯定还有其他方法可以做到这一点。选择一个你可以记住并使用而不会犯太多错误的。

另一种方法是

final=MapThread[Transpose[{#1,#2}]&,{xlist,ylist}]

产生完全相同的结果

另一种方法是

final=Table[Transpose[{xlist[[i]],ylist[[i]]}],{i,1,3}]

产生完全相同的结果

另一种方法是

final=Partition[Transpose[{Flatten[xlist],Flatten[ylist]}],4]

产生完全相同的结果

必须有比这更多的方法来做到这一点

仔细检查每一项以确保我没有犯错