MathGroup Archive 2009

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

Search the Archive

Re: Transforming a list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg103135] Re: Transforming a list
  • From: dh <dh at metrohm.com>
  • Date: Wed, 9 Sep 2009 04:41:49 -0400 (EDT)
  • References: <h859pi$ps0$1@smc.vnet.net>


Hi Don.

simply replace 0's by an empty Sequence: Sequence[]:

{{c, d, e, f, g, 0}, {e, f, g, 0, 0, 0}, {g, 0, 0, 0, 0, 0}} /.

  0 -> Sequence[]

Daniel



Don wrote:

> I am given: lst =  {{c, e, g}, {d, f}, {e, g}, {f}, {g}, {}}

> 

> I want to form a list of sublists where the first sublist consists of the first elements

> from each sublist of lst, the second sublist the second elements from each of the sublists of lst etc.

> 

> The final outcome should be:

> {{c, d, e, f, g}, {e, f, g}, {g}}

> 

> I can do this by first padding the sublists of lst (to make them the same length)and then using Transpose. But how to get rid of the trailings 0's?

> 

> For example:

> 

> newLst = Map[PadRight[#, Length[lst[[1]]]] &, lst]

> 

> Transpose[newLst]

> 

> which produces:

> 

> {{c, d, e, f, g, 0}, {e, f, g, 0, 0, 0}, {g, 0, 0, 0, 0, 0}}

> 

> Is there a better way to end up with

> 

> {{c, d, e, f, g}, {e, f, g}, {g}}

> 

> Thank you.

> 




  • Prev by Date: Re: Transforming a list
  • Next by Date: Re: Transforming a list
  • Previous by thread: Re: Transforming a list
  • Next by thread: Re: Transforming a list