Re: Partitioning lists

*To*: mathgroup at smc.vnet.net*Subject*: [mg20561] Re: Partitioning lists*From*: "Allan Hayes" <hay at haystack.demon.co.uk>*Date*: Sat, 30 Oct 1999 00:14:08 -0400*References*: <7v3dfq$63d@smc.vnet.net> <7vao13$a3l$8@dragonfly.wolfram.com>*Sender*: owner-wri-mathgroup at wolfram.com

Seth, Simpler: ReplaceList[{a, b, c, d, e, f}, {x__, y__} -> {{x}, {y}}] {{{a}, {b, c, d, e, f}}, {{a, b}, {c, d, e, f}}, {{a, b, c}, {d, e, f}}, {{a, b, c, d}, {e, f}}, {{a, b, c, d, e}, {f}}} but slower than Mark's original. Allan --------------------- Allan Hayes Mathematica Training and Consulting Leicester UK www.haystack.demon.co.uk hay at haystack.demon.co.uk Voice: +44 (0)116 271 4198 Fax: +44 (0)870 164 0565 Seth Chandler <SChandler at uh.edu> wrote in message news:7vao13$a3l$8 at dragonfly.wolfram.com... > I am not sure this is any better, but the following also works > > > Union[DeleteCases[ > ReplaceList[{a, b, c, d, e, f}, {x___, y___} -> {{x}, {y}}], {}, > Infinity]] > > > DIAMOND Mark <noname at noname.com> wrote in message > news:7v3dfq$63d at smc.vnet.net... > > 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 > > > > > > > > > > > > > > >