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]