RE: A rule with condition for the elements of a list
- To: mathgroup at smc.vnet.net
- Subject: [mg33166] RE: [mg33132] A rule with condition for the elements of a list
- From: "David Park" <djmp at earthlink.net>
- Date: Wed, 6 Mar 2002 01:55:50 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Guillermo,
Since you want to operate on each level 1 element in the list, and not on
each element in the expression, why not do something more direct?
lst = {a, b, c*t, r*s, 2*t, 3, 0};
If[FreeQ[#, c], # t, #] & /@ lst
{a*t, b*t, c*t, r*s*t, 2*t^2, 3*t, 0}
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
> From: Guillermo Sanchez [mailto:guillerm at aida.usal.es]
To: mathgroup at smc.vnet.net
>
>
> Given a list like this :
>
> lst = {a, b, c*t, r*s, 2*t, 3, 0};
>
> I would like build a rule (c -> c t) for each elements c of the list
> that are not function of t that give like solution :
>
> Out[] := {a t, b t, c t, r s t, 2 t, 3 t, 0}
>
> I have tested the following way but they are not work
>
> lst /. (c_ /; FreeQ[c, t]) -> c*t
>
> and
>
> integrate[c_, t_] := c t /; FreeQ[c, t]
> lst /. c_ -> integrate[c, t]
>
> I will appreciate your held
>
> Guillermo Sanchez
>