Re: Partition List

• To: mathgroup at smc.vnet.net
• Subject: [mg8433] Re: [mg8398] Partition List
• From: Tom Wickham-Jones <twj>
• Date: Sat, 30 Aug 1997 00:42:42 -0400
• Sender: owner-wri-mathgroup at wolfram.com

```Xah wrote:
>
> A question on programing.
> I want to partition a list, using special values in the list as boundary
> indicators. For example, myList={3,7,10,6,1,1,6,1,7,10,3,4,6} and my special
> value for boundary is 10, then my desired result would be
> result={{3,7},{10,6,1,1,6,1,7},{10,3,4,6}}.
>
> How to do this using structure manipulating operators, and how to do it with
> pattern matching? Thanks.

In V3.0 there is a function Split which will do what you want.

In[5]:= ?Split
Split[list] splits list into sublists consisting of runs of identical
elements. Split[list, test] treats pairs of adjacent elements as identical
whenever applying the function test to them yields True.

In[6]:= myList={3,7,10,6,1,1,6,1,7,10,3,4,6};

In[7]:= Split[ myList, #2 =!= 10&]

Out[7]= {{3, 7}, {10, 6, 1, 1, 6, 1, 7}, {10, 3, 4, 6}}

Tom Wickham-Jones
WRI

```

• Prev by Date: Re: Partition List
• Next by Date: Re: Simplifying Sqrt[a^2*d^2]
• Previous by thread: Re: Partition List
• Next by thread: Re: Partition List