Re: altering each member of a list that matches a certain pattern
- To: mathgroup at smc.vnet.net
- Subject: [mg126971] Re: altering each member of a list that matches a certain pattern
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Thu, 21 Jun 2012 05:18:29 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
On 6/20/12 at 3:51 AM, ebaughjason at gmail.com (Jason Ebaugh) wrote:
>I need to alter each member of a list that matches a certain
>pattern. However, I need the whole list back, in its original order.
>So Cases[] on its own doesn't do the trick.
>Here is a toy example that is analogous to my real problem: Put an
>asterisk on each value that is 10 or greater in the following list.
>list = RandomSample[Range[20], 20]
>Out[1]= {19, 16, 5, 13, 10, 20, 1, 3, 18, 8, 9, 6, 12, 7, 4, 15, 11,
>14, 2, 17}
>I came up with two ways to do this. However, I feel like I may be
>missing a simpler, single function way to do this.
>Method 1: If[# > 9, SuperStar[#], #] & /@ list
This seems to me to be a pretty simple method. Another approach
that you might see as simpler would be
list /. a_?(# > 9 &) -> SuperStar[a]