MathGroup Archive 2007

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

Search the Archive

Re: Partition a list into sublists of unequal size

  • To: mathgroup at smc.vnet.net
  • Subject: [mg83932] Re: Partition a list into sublists of unequal size
  • From: dh <dh at metrohm.ch>
  • Date: Wed, 5 Dec 2007 07:03:49 -0500 (EST)
  • References: <fj37cv$hq0$1@smc.vnet.net>


Hi Anthony,

here is an example:

pos={1,4,7,8,10,15};

dat=Range[pos[[-1]]];

FoldList[(Print["ind=",{#1,#2}];Take[dat,{#1[[-1]]+1,#2}])&,{0},pos]

hope this helps, Daniel



antf wrote:

> Hello,

> 

> I have a list that looks like the following:

> 

> list={1,0,0,1,0,0,1,1,0,1,0,0,0,0,1,0}

> 

> I then find the positions of the 1s in the list:

> 

> positions = Flatten@Position[list,1]

> 

> {1,4,7,8,10,15}

> 

> I then want to partition a third list into sublists so that the first

> sublist is from index 1;;1, the second sublist is from index 2;;4, the

> third sublist is from index 5;;7, the fourth sublist is just element

> 8, etc.

> 

> Currently, I use Partition on the positions sublist with overlap as

> in:

> 

> Partition[Join[{1},positions],2,1]

> 

> {{1,1},{1,4},{4,7},{7,8},{8,10},{10,15}}

> 

> I then use this list to partition the target list by Mapping Take to

> each element of this list and adjusting the first index appropriately.

> 

> I am sure there must be a simpler way to do this.  Can anyone tell me

> how to do this operation?

> 

> Thanks,

> Anthony

> 




  • Prev by Date: Re: Partition a list into sublists of unequal size
  • Next by Date: Re: ToolTips in SlideShow: Doesn't work in FullScreen?
  • Previous by thread: Re: Partition a list into sublists of unequal size
  • Next by thread: Re: Partition a list into sublists of unequal size