Зачем вам нужно использовать функцию 'str' в следующем коде?
Поскольку карта принимает итеративный список, или кортеж, или строку.
Данный код добавляет все числа в целое число. И это делает это немного умным взломом. Он преобразует число в последовательность чисел, выполнив
map(int, str(i))
Это преобразует целое число 2009 в список [2, 0, 0, 9]. Затем сумма () добавляет все эти целые числа вверх, и вы получите 11.
Менее хакерская версия будет:
>>> number = [7,79,9]
>>> for i in number:
... result = 0
... while i:
... i, n = divmod(i, 10)
... result +=n
... print result
...
7
16
9
Но ваша версия, по общему признанию, более умна.