Re: Partition
- To: mathgroup at smc.vnet.net
- Subject: [mg71656] Re: [mg71611] Partition
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Sun, 26 Nov 2006 03:48:37 -0500 (EST)
- Reply-to: hanlonr at cox.net
Off[General::spell1]; f1[list_List,n_Integer]:=Flatten[{First[#],Rest[#]}&/@Partition[list,n],1] f2[list_List,n_Integer]:= Partition[list,n]/.a_?(Length[#]==n&):>Sequence[First[a],Rest[a]]; f3[list_List,n_Integer]:=Module[{k},Sequence@@@Table[{list[[k]], Take[list,k+{1,n-1}]},{k,1,Length[list],n}]]; list={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}; f1[list,5] {a,{b,c,d,e},f,{g,h,i,j},k,{l,m,n,o}} %==f2[list,5]==f3[list,5] True list=Table[Random[],{200000}]; Timing[f1[list,5];] {0.731719 Second,Null} Timing[f2[list,5];] {0.889727 Second,Null} Timing[f3[list,5];] {1.14295 Second,Null} Bob Hanlon ---- KFUPM <hussain.alqahtani at gmail.com> wrote: > Dear All > > I have a very large list of numbers that look like this: ( although the > size is different) > > list={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o} > > And i need to rewrite the list into > > list2={a,{b,c,d,e},f,{g,h,i,j,},k,{l,m,n,o}} > > Since my list is too big, i need Mathematica to do it for me regardless > of the site of the list. > > I would appreciate it if you can help me in this regard, > > Thanks > > KFUPM >