2013-05-12 62 views
14

我已閱讀X-數據(從文本文件)到list1,和y的數據同樣爲列表2:如何結合兩個列表來繪製座標對?

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} ....

+1

也許你也想嘗試:'裏弗爾[列表1,列表2]〜分區〜2' – 2013-05-13 07:21:52

+1

用戶值得解釋爲什麼這是封閉的。這絕對不是「脫離主題」。 – agentp 2013-05-13 11:54:25

+1

To closers:您對一種您根本不知道的語言(Mathematica(TM))的看法不受歡迎。你應該以更明智的方式使用你的近距離力量。 – 2013-05-13 14:17:12

回答

16

如果你不喜歡Pinguin德克的建議下嘗試

Transpose[{list1,list2}] 
2

下面是創建一個可重用的功能配對另一個答案向上兩個向量。該函數使用一個純函數來映射整個最短向量的長度以創建對。

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和希望通過努力回答時間就到這裏了幾個問題,以時間來改善我的理解。

7

又一..

MapThread[ {#1, #2} & , {list1, list2}] 

,或者如果你想優雅地處理不等長名單:

MapThread[ {#1, #2} &, Take[#, All, Min @@ Length /@ #] &@{list1, list2} ] 
+1

你甚至可以通過使用'MapThread [List,{list1,list2}]來簡化這個' – lkuty 2015-10-11 08:59:59