Re: Symbols and Lists
- To: mathgroup at smc.vnet.net
- Subject: [mg39858] Re: Symbols and Lists
- From: atelesforos at hotmail.com (Orestis Vantzos)
- Date: Sun, 9 Mar 2003 05:26:38 -0500 (EST)
- References: <b4c8e4$n7k$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
To assign the j-th element of dd to the i-th element of ss, use
Evaluate[ ss[[i]]] ] = dd[[j]]
The problem is that once you do this, ss will still change, since the
new definition for eg. c will be used.
If you want to associate symbols with values without affecting the
symbols (to create a hashtable in other words) do this:
ssHash[symb_Symbol]^=value_
For instance ssHash[c] ^= dd[[4]].
Now you can retrieve the 'value' of c with ssHash[c] and still get
back ss.
Another way to do this is with rules:
ssRules={a->dd[[1]], b->d[[3]], c->d[[4]], ...}
c/.ssRules will return the 'value' of c
and First/@ssRules will give back ss.
Hope that helped,
Orestis
Goyder Dr HGD <H.Goyder at rmcs.cranfield.ac.uk> wrote in message news:<b4c8e4$n7k$1 at smc.vnet.net>...
> Dear MathGroup,
>
> I am doing something much more complicated but this trivial example
> expresses my difficulty.
>
> If I have a list of symbols and a list of data such as
>
> ss = {a, b, c, d, e}
>
> dd = {1, 5, {3, 4}, 7, abc, {0.1, 0.001}, 3.1415}
>
> how do I take a symbol from the list ss and associated it with data from the
> list dd?
>
> A wrong attempt is to try
>
> ss[[3]] = dd[[4]]
>
> This replaces element 3 in ss with element 4 from dd.
>
> What I need is an assignment so that, in this case, the symbol c is
> associated with the data. Equivalent to writing
>
> c = dd[[4]]
>
> so that c could then be used in subsequent expressions and the list ss is
> unchanged.
>
> Note that this is a trivial example for pedagogic purposes - I can't do the
> simple assignment in my actual case.
>
> Thanks
>
> Hugh Goyder