what
Takes a function/closure/lambda and a list/sequence/iterable, returns the list but with every value replaced with the result of passing it to the function. An example of what you posted, ported to Python using map:
print "".join(map(chr, [119, 97, 115, 115, 117, 112]))
Python also has a special syntax for this, which is useful when you need to do something more advanced:
print "".join(chr(x) for x in [119, 97, 115, 115, 117, 112])
And a third syntax using map again (but with lambdas, accomplishes same thing as the second syntax, but with less case-specific magic (although that magic has a reason for existing, it's somewhat faster than the first/third syntax
except for when you're just calling a function anyway)):
print "".join(map((lambda x: chr(x)), [119, 97, 115, 115, 117, 112]))
And in Haskell (roughly equivalent to the first Python syntax):
import Data.Char
main = putCharLn (map chr [119, 96, 115, 115, 117, 112])
And in Haskell again (like the third Python syntax):
import Data.Char
main = putCharLn (map (\x -> chr x) [119, 96, 115, 115, 117, 112])
And in Ruby (like the third Python syntax):
puts [119, 96, 115, 115, 117, 112].map {|x| x.chr}.join
And here's the literal Python translation of what you posted:
import sys
for x in [119, 97, 115, 115, 117, 112]:
sys.stdout.write(chr(x))
print # Terminate with a newline
I'm working on it! :(