Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

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

Search the Archive

Re: Replace list element based on a condition how to

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106669] Re: [mg106630] Replace list element based on a condition how to
  • From: "David Park" <djmpark at comcast.net>
  • Date: Wed, 20 Jan 2010 06:51:33 -0500 (EST)
  • References: <19147537.1263896562992.JavaMail.root@n11>

How about:

lst1 = {18, 19, 20, 21, 22, 23, 0, 1, 2, 3};

Attributes[fncHourFix] = Listable;  
fncHourFix[h_] := If[(h - 6) < 0, h - 6 + 24, h - 6]  

fncHourFix[lst1]  
{12, 13, 14, 15, 16, 17, 18, 19, 20, 21}  

If you didn't want to make fncHourFix Listable you could map it onto the
list with the same result.

fncHourFix /@ lst1


David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/  


From: Canopus56 [mailto:canopus56 at yahoo.com] 


Q1. Is there a way to replace a list based on a condition? 

I have a list of integers - 

lst1 = {18, 19, 20, 21, 22, 23, 0, 1, 2, 3} 

that I would like to replace with the following rule - 

fncHourFix[h_] := If[(h - 6) < 0, h - 6 + 24, h - 6];

but the replace function - 

lst2 = lst1 /. {i_} :> fncHourFix[{i}] 

- bombs out. 

I've tried several variants.

Any pointers would be appreciated. 

Thanks - Kurt 



      




  • Prev by Date: Re: trouble with a Binet in a generalized Pell recursion
  • Next by Date: Sorting paired columns of dates and values
  • Previous by thread: Re: Replace list element based on a condition how to
  • Next by thread: Re: Replace list element based on a condition how to