On or about 2009 Sep 5, at 10:45 AM, Martin A. Brown indited:
Have you discovered the map() builtin yet?
I would imagine that others on this list will have some even more
elegant and efficient solutions for you, but here's a possibility:
def filt_seq( thing ):
if thing == 38:
thing = thing - 4
elif thing == 40:
thing = thing - 1
return thing
l = [ 1, 17, 12, 38, 4, 40, 17, 19 ]
l = map( filt_seq, l )
Good luck,
I must have missed a message or two, because I don't understand why
math is being done on constants like that.
Given my misunderstanding, I'd go with:
my_map = { 38: 34, 40: 39 }
def filter_item(item):
return my_map.get(item, item)
l = [ ... ]
l = map(filter_item, l)
-Doug
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor