       Re: Apply a function to parts of a list

• To: mathgroup at smc.vnet.net
• Subject: [mg110331] Re: Apply a function to parts of a list
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Sun, 13 Jun 2010 04:12:46 -0400 (EDT)

```data = Thread[Array[#, 3] & /@ {x, y}]

{{x, y}, {x, y},
{x, y}}

data /. {a_, b_} -> {a, b/2}

{{x, y/2}, {x, y/2},
{x, y/2}}

{1, 1/2} # & /@ data

{{x, y/2}, {x, y/2},
{x, y/2}}

{#[], #[]/2} & /@ data

{{x, y/2}, {x, y/2},
{x, y/2}}

Bob Hanlon

---- Rui <rui.rojo at gmail.com> 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

```

• 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