MathGroup Archive 2005

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

Search the Archive

Re: match 1, replace 2


Trevor Baca wrote:
> hi mathgroup,
> 
> what rule takes
> 
> ls = {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}}
> 
> to
> 
>       {{101, -1, 102, -1, 3}, {104, -1, 5}, {106, -1, 107, -1, 108, -1,
> 9}}
> 
> ie, matches all integers but the last in each list and then replaces
> each matched integer n with the 2-element sequence Sequence[100 + n,
> -1]?
> 
> trevor.
> 
In[1]:=
ls = {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}, {0}};
In[2]:=
ls /. {f___Integer, g_Integer} :>
   Append[Apply[Sequence, ({100 + #1, -1} & ) /@ {f}, {1}], g]
Out[2]=
{{101, -1, 102, -1, 3}, {104, -1, 5}, {106, -1, 107, -1, 108, -1, 9}, {0}}

-- 
Peter Pein
Berlin


  • Prev by Date: Re: match 1, replace 2
  • Next by Date: Re: plot on condition
  • Previous by thread: Re: match 1, replace 2
  • Next by thread: Re: match 1, replace 2