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

Wolfram mathematica 在mathematica中使用嵌套数组和列表,wolfram-mathematica,Wolfram Mathematica,绝对是初学者的问题。 我在mathematica有两个列表。 第一个由Table命令生成: 表[QP[[i]],{i,10}] 将生成以下列表: {52.5,45,37.5,30,22.5,15,7.5,0.,-7.5,-15.} 第二个是范围 范围[0,9,1] 它生成{0,1,2,3,4,5,6,7,8,9} 我需要把这些列成一个列表。i、 e.{0,52.5},{1,45}…}等等,但我似乎不明白。你需要使用循环吗?因为我认为我想要的可以通过Table和Array命令生成 谢谢表的第一个参

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

表[QP[[i]],{i,10}]
将生成以下列表:

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

第二个是范围

范围[0,9,1]

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

我需要把这些列成一个列表。i、 e.{0,52.5},{1,45}…}等等,但我似乎不明白。你需要使用循环吗?因为我认为我想要的可以通过Table和Array命令生成


谢谢

表的第一个参数可以是任何表达式。通过将列表指定为第一个参数,可以使其输出列表列表:

Table[{i-1, QP[[i]]}, {i, 10}]
(* {{0, QP[[1]]}, {1, QP[[2]]}, ... {8, QP[[9]]}, {9, QP[[10]]}} *)

表的第一个参数可以是任何表达式。通过将列表指定为第一个参数,可以使其输出列表列表:

Table[{i-1, QP[[i]]}, {i, 10}]
(* {{0, QP[[1]]}, {1, QP[[2]]}, ... {8, QP[[9]]}, {9, QP[[10]]}} *)

转置
可能是您想要的:

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

list2 = Range[0, 9, 1]
Transpose[{list2, list1}]
给予

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


转置
可能是您想要的:

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

list2 = Range[0, 9, 1]
Transpose[{list2, list1}]
给予

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


要完成方法的说明,可以使用

在哪里

或者,你可以使用

尽管如此,
mapindex
更合适,因为它不需要您生成额外的列表

我想说的最后一点是,您的代码
表[QP[[I]],{I,10}]
意味着
QP
本身就是一个列表。(双括号,
[[]]
)如果这是正确的,那么
不是生成子集的最佳方法,您可以直接使用
部分
()


然后,您可以用这两种形式中的任何一种来替换代码首位中的
数据。

要完成方法的说明,您可以使用

在哪里

或者,你可以使用

尽管如此,
mapindex
更合适,因为它不需要您生成额外的列表

我想说的最后一点是,您的代码
表[QP[[I]],{I,10}]
意味着
QP
本身就是一个列表。(双括号,
[[]]
)如果这是正确的,那么
不是生成子集的最佳方法,您可以直接使用
部分
()


然后,您可以用这两种形式中的任何一种形式替换代码首位中的
数据。

请记住在用户定义的符号中使用小写字母作为第一个字符。你会省去很多麻烦。问题对列表的答案也可能会让你感兴趣。请记住在用户定义的符号中使用小写字母作为第一个字符。你将为自己省去很多麻烦问题对列表的答案让元组有序排列可能也很有趣。士气:如果你不需要临时符号来保存中间结果,不要使用它。而且@rcollyer为什么不简单…
Thread[List[Range[0,9],QP]
?QP不是一个列表吗?@David因为从这个问题我猜到了Length@QP>10.我可能错了,当然是啊,因为我是历史系学生,不是计算机科学家。这就是为什么我注意到这些无用的东西。:PMorale:如果你不需要临时符号来保存中间结果,就不要使用它。@rcollyer为什么不干脆…
t线程[列表[范围[0,9],QP]
?QP不是一个列表吗?@David因为从这个问题我猜到了Length@QP>10.我可能错了,当然是啊,因为我是学历史的学生,不是计算机科学家。这就是我注意到这些无用的东西的原因。:PYou stealer!把我的
在你的地图上偏移1的部分还给我!:)@belisarius,很好!现在快乐!:)你这个小偷!把你地图上的
偏移量给我一个
,@belisarius,很好!现在高兴!:)回顾答案并与进行比较,我注意到只有
Flatten
被省略了(这也允许“ragged”数组的转置)。这很容易忘记!参见。
Flatten[{list2,list1},{{2}]==转置[{list2 list1}]
查看答案并与进行比较,我注意到只有
flatte
被省略了(这也允许“ragged”数组的转置)。这很容易忘记!请参见。
flatte[{list2,list1},{{2}}]==转置[{list2,list1}]
data = {52.5, 45., 37.5, 30., 22.5, 15., 7.5, 0., -7.5, -15.}
MapThread[List, {Range[0,9], data}]
QP[[ 1 ;; 10 ]]
QP[[ ;; 10 ]]