我已将 x 数据(来自文本文件)读入 list1,并将 y 数据类似地读入 list2:
list1 = { 0.0, 0.172, 0.266, ..}
list2 = {-5.605, -5.970, -6.505, ..}
如何组合这两个列表以绘制点 {0.0, -5.605}, {0.172, -5.970}, {0.266, -6.505},....
我已将 x 数据(来自文本文件)读入 list1,并将 y 数据类似地读入 list2:
list1 = { 0.0, 0.172, 0.266, ..}
list2 = {-5.605, -5.970, -6.505, ..}
如何组合这两个列表以绘制点 {0.0, -5.605}, {0.172, -5.970}, {0.266, -6.505},....
如果您不喜欢 Pinguin Dirk 的建议,请尝试
Transpose[{list1,list2}]
完后还有..
MapThread[ {#1, #2} & , {list1, list2}]
或者如果你想优雅地处理不等长的列表:
MapThread[ {#1, #2} &, Take[#, All, Min @@ Length /@ #] &@{list1, list2} ]
这是另一个答案,它创建了一个可重用的函数来配对两个向量。该函数使用一个纯函数映射最短向量的长度来创建对。
list1 = {1, 2, 3, 4, 5};
list2 = {13, 18, 20, 18, 13};
pairUp[xValues_ , yValues_] := ({xValues[[#]], yValues[[#]]}) & /@
Range[Min[Length[xValues], Length[yValues]]];
pairUp[list1, list2]
(*
{{1, 13}, {2, 18}, {3, 20}, {4, 18}, {5, 13}}
*)
希望这可以帮助,
埃德蒙
PS:Mathematica 的新手,希望通过不时在这里回答一些问题来提高我的理解。
干得好
Partition[Riffle[x,y],2]