Re: split again
- To: mathgroup at smc.vnet.net
- Subject: [mg73671] Re: [mg73622] split again
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Sat, 24 Feb 2007 02:18:13 -0500 (EST)
- Reply-to: hanlonr at cox.net
Your zSplit is missing a & and even then would never result in lists longer than one whose elements are all less than or equal to 0.7 Using a different zSplit z=Table[Random[],{1000}]; zSplit=Split[z,#1<=0.7 === #2<=0.7&]; With this Split, lists longer than one can only contain elements less than or equal to 0.7 so it is unnecessary to test the elements' values. Select[zSplit,Length[#]>5&][[1]] {0.465823,0.397768,0.520191,0.0301858,0.516125,0.616719,0.133392,0.33706} Creating mixed lists zSplit=Split[z,#1<=0.7 && #2<=0.7||#1>0.7 && #2>0.7&]; Select[zSplit,Length[#]>5&&And@@Thread[#<=0.7]&][[1]] {0.465823,0.397768,0.520191,0.0301858,0.516125,0.616719,0.133392,0.33706} Bob Hanlon ---- Arkadiusz.Majka at gmail.com wrote: > Hi, > > Thank you very much for your help in my provious post. Now, consider > please a list > > z=Table[Random[],{1000}]; > > zSplit=Split[z,#1<=0.7 === #2>=0.7]; (bulit thanks to your > help) > > I want to pick the first sublist of zSplit that consists of elements > <= 0.7 and whose length is greater than a certain number (say 5). I > think that a good candidate would be using Cases and variations of _ , > but I don't know how. > > What I want to do (and what my both posts are about) is to find the > first sublist of z with all elements less than A and the length of > this sublist must be greater than B. Maybe there exists better > solution than to Split z in advance since what I need to do in my next > step is to find ONLY the FIRST sublist of splitted z. > > Thanks again, > > Arek