20 Основное использование карты, itertools.imap и future_builtins.map

Функция map - самая простая из встроенных в Python, используемая для функционального программирования. map() применяет указанную функцию к каждому элементу в качестве итератора:

 names = ['Fred', 'Wilma', 'Barney']

 
map (len, names) # map в Python 3.x является классом; его экземпляры повторяемы # Out:

Python , 3-совместимая map включена в future_builtins модуль:

из карты импорта future_builtins # содержит карту map (), совместимую с Python 3.x (len, names) # см. ниже # Out:

Кроме того , в Python 2 можно использовать imap от itertools получить генератор

map (len, names) # map () возвращает список # Out: [4, 5, 6] из itertools import imap imap (len, names) # itertools.imap () возвращает генератор # Out:

Результат может быть явно преобразован в list , чтобы удалить различия между Python 2 и 3:

 list(map(len, names))
# Out: [4, 5, 6]


 

map() может быть заменена эквивалентным список понимания или выражение генератора :

 [len(item) for item in names] # equivalent to Python 2.x map()
# Out: [4, 5, 6]

(len(item) for item in names) # equivalent to Python 3.x map()
# Out: <generator object <genexpr> at 0x00000195888D5FC0>