Re: question about Split[...]
- To: mathgroup at smc.vnet.net
- Subject: [mg64547] Re: [mg64529] question about Split[...]
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 22 Feb 2006 05:58:30 -0500 (EST)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
data=Table[Random[Integer],{20}] {1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0} k=3; To limit any run to at most k elements Split[data]//.x_?(Length[#]>k && Union[#]=={First[#]}&):> Sequence[Table[First[x],{k}],Table[First[x],{Length[x]-k}]] {{1},{0,0,0},{0,0,0},{0,0},{1,1,1},{1,1,1},{0},{1,1},{0,0}} p=1; To limit only runs of p to at most k elements Split[data]//.x_?(Length[#]>k && Union[#]=={p}&):> Sequence[Table[p,{k}],Table[p,{Length[x]-k}]] {{1},{0,0,0,0,0,0,0,0},{1,1,1},{1,1,1},{0},{1,1},{0,0}} Bob Hanlon > > From: "Capet Arthur" <Arthur.Capet at student.ulg.ac.be> To: mathgroup at smc.vnet.net > Subject: [mg64547] [mg64529] question about Split[...] > > the question... > > How can i restrict the maximum length of the sublist generated by the > function Split[list, test] ? > > > In details... > > i need to subdivise a given list into sublists consisting into a given > form (here it's p), repeated AT MAXIMUM k times, and then the > just-following element in the initial list : > > something like {p,... k times...,p, next}) > > i've found -- Split [ll, #1 == p &] -- useful but don't know how to limit > the length of the generated sublists (to k+1) > > > thanks a lot > > > > Arthur Capet, ULG, Belgium > >