在mathematica中使用嵌套数组和列表

fra*_*lin 1 wolfram-mathematica

绝对的初学者问题在这里.我在mathematica中有两个列表.第一个是由Table命令生成的:

Table[QP[[i]], {i, 10}] 生成列表:

{52.5, 45., 37.5, 30., 22.5, 15., 7.5, 0., -7.5, -15.}

第二个是Range

Range[0, 9, 1]

生成{0,1,2,3,4,5,6,7,8,9}

我需要将这些列入列表.即{{0,52.5},{1,45} ...}等.但我似乎无法得到它.你需要使用循环吗?因为我认为可以使用Table和Array命令生成我想要的内容.

谢谢

tom*_*omd 7

Transpose 可能是你想要的:

list1 = {52.5, 45., 37.5, 30., 22.5, 15., 7.5, 0., -7.5, -15.}

list2 = Range[0, 9, 1]
Transpose[{list2, list1}]
Run Code Online (Sandbox Code Playgroud)

{{0,52.5},{1,L.},{2,37.5},{3,30.},{4,22.5},{5,15},{6,7.5},{7,0 .},{8,-7.5},{9,-15.}}

  • 回顾一下这些答案并与[here](http://stackoverflow.com/q/5370848/499167)进行比较,我注意到只有'Flatten`被省略了(这也允许'ragged'数组的转置).这很容易忘记!见[here](http://stackoverflow.com/questions/5370848/pair-lists-to-create-tuples-in-order/5372194#5372194).`Flatten [{list2,list1},{{2}}] == Transpose [{list2,list1}]` (2认同)

Jon*_*han 5

第一个参数Table可以是任何表达式.您可以通过将列表指定为第一个参数来输出列表列表:

Table[{i-1, QP[[i]]}, {i, 10}]
(* {{0, QP[[1]]}, {1, QP[[2]]}, ... {8, QP[[9]]}, {9, QP[[10]]}} *)
Run Code Online (Sandbox Code Playgroud)


Dr.*_*ius 5

Thread[List[Range[0, 9], QP[[;; 10]]]]
Run Code Online (Sandbox Code Playgroud)

  • 士气:如果您不需要临时符号来保存中间结果,请不要使用它. (3认同)