MathGroup Archive 2003

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

Search the Archive

RE: expanding a list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg42611] RE: [mg42593] expanding a list
  • From: "David Park" <djmp at earthlink.net>
  • Date: Fri, 18 Jul 2003 05:25:04 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Alan,

The command to use when combining elements of equal length lists is Inner.

plist = {0.252, 0.252, 0.257, 0.235};
flist = {7, 5, 6, 4};

Inner[Table[#1, {#2}] &, plist, flist, List] // Flatten
{0.252, 0.252, 0.252, 0.252, 0.252, 0.252, 0.252, 0.252, 0.252, 0.252,
0.252, \
0.252, 0.257, 0.257, 0.257, 0.257, 0.257, 0.257, 0.235, 0.235, 0.235, 0.235}

We made a list of tables of elements in the first list, with the repitition
taken from the second list, and then Flattened the whole thing to obtain a
single list.

David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/



From: Alan Kelly [mailto:Alan.Kelly at tcd.ie]
To: mathgroup at smc.vnet.net

Hi all,
I believe that this is a rather elementary question, but I am not
aware of a simple, elegant and efficient solution. I have searched
the MathGroup archive, but with no success.

I have two lists - both of the same length.  The first contains a
list of probabilities. For example, suppose the list length is 4
(although in practice it would be much longer) and is of the
following form:
plist = {0.252, 0.252, 0.257, 0.235}.
The second contains a  list of integers:
flist = {7,5,6,4}.
I wish to take the first element of plist and replicate that value
using the first element of flist.  Similarly for the remaining
elements.
I should finish with a list of length 7+5+6+4 or 22.
Any suggestion please.
Many thanks,
Alan Kelly
Trinity College Dublin


  • Prev by Date: RE: displaying a graphic without input
  • Next by Date: Re: expanding a list
  • Previous by thread: expanding a list
  • Next by thread: Re:expanding a list