MathGroup Archive 2010

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

Search the Archive

Re: Replace list element based on a condition how to


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