Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

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

Search the Archive

Re: Apply a function to parts of a list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg110311] Re: Apply a function to parts of a list
  • From: "Carl K. Woll" <carlw at wolfram.com>
  • Date: Sun, 13 Jun 2010 04:09:09 -0400 (EDT)

On 6/12/2010 5:32 AM, Rui wrote:
> I have always done very ugly code when trying to do something
> seemingly simple and basic such as applying a function to subparts of a list.
> Simple example, I want to divide by 2 all the second elements of a
> list
> {{a, 5}, {b, 6}, ...}   -->   {{a, 5/2}, ...}
>
> My ideas:
> Transpose ->  MapAt/Map ->  Transpose
> Build the sublist with Part and then rebuild it
> Use Map and a function like #[[All, 2]] and then rebuild it.
>
> I don't like any solution. I wanted to know if there's anything simple
> that I'm overseing
>
> Thanks guys
>
>    

With:

list = {{a, 5}, {b,6}, {c,7}};

You can do:

list[[All,2]] /= 2

and list will have all second elements cut in half.

In[114]:= list

Out[114]= {{a, 5/2}, {b, 3}, {c, 7/2}}

Carl Woll
Wolfram Research


  • Prev by Date: Re: Apply a function to parts of a list
  • Next by Date: Re: Apply a function to parts of a list
  • Previous by thread: Re: Apply a function to parts of a list
  • Next by thread: Re: Apply a function to parts of a list