Re: Selecting Sub-lists After Split
- To: mathgroup at smc.vnet.net
- Subject: [mg77471] Re: Selecting Sub-lists After Split
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Sat, 9 Jun 2007 05:40:48 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <f4b89h$3ls$1@smc.vnet.net>
Gregory Lypny wrote:
> Hello everyone,
>
> Suppose I have a list of real number called myList. I split it into
> sub-lists of positive and negative numbers called myNewList by doing
> this (there may be a more elegant way):
>
> myNewList = Split[myList, #1 #2 > 0 &]
>
> Now, how can I select all of the sub-lists of negative numbers from
> myNewList?
>
> Any tips would be most appreciated.
>
> Regards,
>
> Gregory
Hi Gregory,
The expression Cases[myNewList, v_ /; VectorQ[v, Negative]] will do it.
In[1]:=
myList = RandomInteger[{-5, 5}, {20}]
myNewList = Split[myList, #1*#2 > 0 & ]
Cases[myNewList, v_ /; VectorQ[v, Negative]]
Out[1]=
{-3, -5, 0, -2, 4, -1, -5, -3, -1, 0, -1, 4, 1, -3, 1, -3, 5, 4, 3, 5}
Out[2]=
{{-3, -5}, {0}, {-2}, {4}, {-1, -5, -3, -1}, {0}, {-1}, {4, 1}, {-3},
{1}, {-3}, {5, 4, 3, 5}}
Out[3]=
{{-3, -5}, {-2}, {-1, -5, -3, -1}, {-1}, {-3}, {-3}}
Regards,
Jean-Marc