Re: [问题] 把不同组数据汇集在一起

楼主: Frobenius (▽.(▽×▽φ)=0)   2016-03-22 01:20:07
※ 引述《qazwsx150 (魂牵孟盈)》之铭言:
: 大家好,想请问一下
: 如果我有三组数值
: {x1,x2,x3,...,xn}
: {y1,y2,y3,...,yn}
: {z1,z2,z3,...,zn}
: 我希望把他们整理成{{x1,y1,z1},{x2,y2,z2},{x3,y3,z3},...,{xn,yn,zn}}
: 想问问我可以怎么做,谢谢大家
a=Table[x[n],{n,1,4}]
b=Table[y[n],{n,1,4}]
c=Table[z[n],{n,1,4}]
{a,b,c}//Transpose (下列为执行结果)
{{x[1],y[1],z[1]},{x[2],y[2],z[2]},{x[3],y[3],z[3]},{x[4],y[4],z[4]}}
Table[{a[[n]],b[[n]],c[[n]]},{n,1,4}] (下列为执行结果)
{{x[1],y[1],z[1]},{x[2],y[2],z[2]},{x[3],y[3],z[3]},{x[4],y[4],z[4]}}
Table[{a[[n]],b[[n]],c[[n]]},{n,1,3}] (下列为执行结果)
{{x[1],y[1],z[1]},{x[2],y[2],z[2]},{x[3],y[3],z[3]}}
Table[{a[[n]],b[[n]],c[[n]]},{n,2,3}] (下列为执行结果)
{{x[2],y[2],z[2]},{x[3],y[3],z[3]}}
Table[({a,b,c}//Transpose)[[n]],{n,2,3}] (下列为执行结果)
{{x[2],y[2],z[2]},{x[3],y[3],z[3]}}
作者: LPH66 (-6.2598534e+18f)   2016-03-22 03:55:00
补一个 In := Table[{a, b, c}[[All, n]], {n, 2, 3}]Out = {{x[2], y[2], z[2]}, {x[3], y[3], z[3]}}在 [[]] (Part) 里用 All 即是把那一维全部切片下来
作者: qazwsx150 (魂牵孟盈)   2016-03-22 06:27:00
谢谢你喔,我等等去试试看
作者: AmibaGelos (Amiba Gelos)   2016-03-22 08:55:00
考虑到其他语言的zip/pack都有支援将不同长度的list合并在一起的功能,可以加上PadRight

Links booklink

Contact Us: admin [ a t ] ucptt.com