Python's map has the useful feature that nobody is in any doubt about what it does. I don't know much about Ruby I have to say but looking at that piece of syntax you gave I had no idea how to interpret it. Anyway, I looked it up.
Calling an method on each of a collection of objects is best accomplished without map. It is semantically different to mapping a function over a set. As far as speed goes, Python has an overhead for making a function call which means that its often faster to use a for loop. It seems like a rather small difference in speed though and if what you want to do is semantically a map you should write it is a map thereby making your code read like what it does. If it later turns out to slow down your program too much optimise it then. In your second pair of tests the map is faster because str is a builtin and doesn't have that overhead. Additionally the name 'str' is only looked up once rather than 10000 times. :-) Richard. -- http://mail.python.org/mailman/listinfo/python-list