Как объединить два списка для построения координатных пар? - программирование
Подтвердить что ты не робот

Как объединить два списка для построения координатных пар?

Я прочитал x-data (из текстовых файлов) в list1 и y-data аналогично в 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},....

4b9b3361

Ответ 1

Если вам не нравится предложение Pinguin Dirk try

Transpose[{list1,list2}]

Ответ 2

еще один..

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

или если вы хотите изящно обрабатывать неравные списки длин:

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

Ответ 3

Вот еще один ответ, который создает функцию многократного использования для объединения двух векторов. Функция использует чистую функцию, которая отображает длину кратчайшего вектора для создания пар.

    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 и надеемся улучшить мое понимание, пытаясь время от времени отвечать на несколько вопросов.