Re: prograMing: split a list
- To: mathgroup at smc.vnet.net
- Subject: [mg8958] Re: prograMing: split a list
- From: Leszek Sczaniecki <lsczan at concentric.net>
- Date: Mon, 6 Oct 1997 01:59:26 -0400
- Organization: Concentric Internet Services
- Sender: owner-wri-mathgroup at wolfram.com
Leszek Sczaniecki wrote: > What about this solution? > > In[1]:= myList=Table[Random[Integer,{1,200}],{10000}]; > > In[2]:= fQ=OddQ; > > In[3]:= {Select[myList, fQ], Select[myList,!fQ]} ;// Timing > Out[3]= {0.15 Second,Null} > [...] Here is an appendix to my last posting. Michael Trott just reminded me that this will not work for completely general, user defined boolean function fQ. In that case you need to do something like that {Select[myList, fQ], Select[myList,!fQ[#]&]} or, if you care about the symmetry of the last expression, define two tests fQ and notfQ fQ := (# < 100)& notfQ := (# >= 100)& (or not fQ := !fQ[#]&) {Select[myList, fQ], Select[myList,notfQ]} Leszek