MathGroup Archive 2009

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

Search the Archive

Re: patterns

  • To: mathgroup at
  • Subject: [mg101893] Re: patterns
  • From: Albert Retey <awnl at>
  • Date: Mon, 20 Jul 2009 19:22:47 -0400 (EDT)
  • References: <h41f5m$rin$>

Francisco Gutierrez wrote:
> Dear Group:
> Ther output of a code I made (which includes a minimization) is of the following guise:
> {11.2,{dUp[1]->0.,dUp[2]->0.,dUp[3]->0.,dUp[4]->2.1,dUp[5]->0.,dUm[1]->0.,dUm[2]->2.6,dUm[3]->0.5,dUm[4]->0.,dUm[5]->0.,dLp[1]->0.,dLp[2]->0.,dLp[3]->0.,dLp[4]->1.4,dLp[5]->0.,dLm[1]->0.,dLm[2]->3.1,dLm[3]->1.5,dLm[4]->0.,dLm[5]->0.,a[1]->6.75,a[2]->1.25,c[1]->1.65,c[2]->0.15}}
> Of this output, I want to capture only the a's and the c's. There is an easy and sloppy manner, but general and I think not slow, to do this because they appear always at the end of the output. But I wonder if it were possible to use pattern matching to make the same thing, something of the sort of Cases[myoutput, a[__]]. Is it possible? How can it be done? 
> Thanks
> Francisco       
If I define
res = <above list>

this will do the trick:

Cases[res, Verbatim[Rule][(a | c)[___], _], {2}]

I think it should be efficient enough if your list of rules is less than
a few hundred or thousend entries long...



  • Prev by Date: Re: patterns
  • Next by Date: Re: best way to save 3D plot as .eps for latex document?
  • Previous by thread: Re: patterns
  • Next by thread: Re: patterns