Отображение каждого значения в итерируемое

Например, вы можете взять абсолютное значение каждого элемента:

 list(map(abs, (1, -1, 2, -2, 3, -3))) # the call to `list` is unnecessary in 2.x
# Out: [1, 1, 2, 2, 3, 3]

 

Анонимная функция также поддерживает отображение списка:

 map(lambda x:x*2, [1, 2, 3, 4, 5])
# Out: [2, 4, 6, 8, 10]

 

или преобразование десятичных значений в проценты:

 def to_percent(num):
    return num * 100

list(map(to_percent, [0.95, 0.75, 1.01, 0.1]))
# Out: [95.0, 75.0, 101.0, 10.0]

 

или конвертировать доллары в евро (с учетом обменного курса):

 from functools import partial
from operator import mul

rate = 0.9  # fictitious exchange rate, 1 dollar = 0.9 euros
dollars = {'under_my_bed': 1000,
           'jeans': 45,
           'bank': 5000}

sum(map(partial(mul, rate), dollars.values()))
# Out: 5440.5

 

functools.partial это удобный способ исправить параметры функций , так что они могут быть использованы с map вместо использования lambda или создания пользовательских функций.