MathGroup Archive 1999

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Partitioning lists

  • To: mathgroup at smc.vnet.net
  • Subject: [mg20527] Re: [mg20439] Partitioning lists
  • From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
  • Date: Sat, 30 Oct 1999 00:13:49 -0400
  • Sender: owner-wri-mathgroup at wolfram.com

In mathematica 4 (only) you can indeed do what you want using Partition:

In[58]:=
Array[Partition[{1, 2, 3, 4, 5, 6}, 5, 5, {#, #}, {}] &, {5}]

Out[58]= {{{1, 2, 3, 4, 5}, {6}}, {{1, 2, 3, 4}, {5, 6}},

{{1, 2, 3}, {4, 5, 6}}, {{1, 2}, {3, 4, 5, 6}},

{{1}, {2, 3, 4, 5, 6}}}

However, it does not seem to me to be obviously more efficient than your
way, but I have not tried running any tests.

-- 
Andrzej Kozlowski
Toyama International University
JAPAN
http://sigma.tuins.ac.jp


> From: "DIAMOND Mark" <noname at noname.com>
To: mathgroup at smc.vnet.net
> Organization: The University of Western Australia
> Date: Tue, 26 Oct 1999 00:33:17 -0400
> To: mathgroup at smc.vnet.net
> Subject: [mg20527] [mg20439] Partitioning lists
> 
> I would like a function f to split a list as follows
> 
> a={1,2,3,4,5,6}
> f[a] =
> {
> {{1},{2,3,4,5,6}},
> {{1,2},{3,4,5,6}},
> {{1,2,3},{4,5,6}},
> {{1,2,3,4},{5,6}},
> {{1,2,3,4,5},{6}}
> }
> 
> I can do this as
> 
> Table[{Take[a, i], Drop[a, i]}, {i, 1, Length[a] - 1}]
> 
> but it *looks* as though it is very inefficient. Is it?
> It also looks as though there should be a way of using Partition simply to
> chop a list between positions i and i+1, but
> I cannot see how to do it. Any suggestions?
> 
> 
> mark diamond
> no spam email: markd at psy dot uwa dot edu dot au
> 
> 
> 
> 
> 
> 



  • Prev by Date: Simlifying series expansion
  • Next by Date: Re: second y-axis in a graph
  • Previous by thread: Re: Partitioning lists
  • Next by thread: Re: Partitioning lists