Рубрики
Без рубрики

Функция Python Map ()

Функция Python Map, Python Map () Функция, Python Map Пример, Python Map Lambda, Список карт Python, карта Python Cuple, Set, String, Python 3 Функция карты, объект карты

Автор оригинала: Pankaj Kumar.

Функция Python Map () используется для применения функции на всех элементах указанного объекта ITERALABLE и возврата. Объект карты Python – это итератор, поэтому мы можем повторять его элементы. Мы также можем преобразовать объект карты к объектам последовательности, такие как список, кортеж и т. Д. Использование их заводских функций.

Функция Python Map ()

Синтаксис функции Python Map ():

map(function, iterable, ...)

Мы можем передавать несколько намеренных аргументов на карту () функции () в этом случае, в этом случае указанная функция должна иметь много аргументов. Функция будет применяться к этим утекаемым элементам параллельно. С несколькими утерянными аргументами карта ITERATOR останавливается, когда самый короткий итог исчерпан.

Пример Python Map ()

Давайте напишем функцию, которая будет использоваться с функцией карты ().

def to_upper_case(s):
    return str(s).upper()

Это простая функция, которая возвращает прописные строки строки входного объекта.

Я также определяю функцию утилиты для печати элементов итератора. Функция будет печатать элементы итератора с белым пространством и будет повторно использовать во всех фрагментах кода.

def print_iterator(it):
    for x in it:
        print(x, end=' ')
    print('')  # for new line

Давайте посмотрим на карту () функциональный пример с различными типами повторных документов.

Карта Python () со строкой

# map() with string
map_iterator = map(to_upper_case, 'abc')
print(type(map_iterator))
print_iterator(map_iterator)

Выход:


A B C 

Карта Python () с кортежом

# map() with tuple
map_iterator = map(to_upper_case, (1, 'a', 'abc'))
print_iterator(map_iterator)

Выход:

1 A ABC 

Карта Python () со списком

map_iterator = map(to_upper_case, ['x', 'a', 'abc'])
print_iterator(map_iterator)

Выход:

X A ABC 

Преобразование карты в список, кортеж, набор

Поскольку объект карты является итератор, мы можем пропустить его как аргумент к заводским методам для создания списка, кортежа, множества и т. Д.

map_iterator = map(to_upper_case, ['a', 'b', 'c'])
my_list = list(map_iterator)
print(my_list)

map_iterator = map(to_upper_case, ['a', 'b', 'c'])
my_set = set(map_iterator)
print(my_set)

map_iterator = map(to_upper_case, ['a', 'b', 'c'])
my_tuple = tuple(map_iterator)
print(my_tuple)

Выход:

['A', 'B', 'C']
{'C', 'B', 'A'}
('A', 'B', 'C')

Карта Python () с лямбдой

Мы можем использовать функции лямбда с картой (), если мы не хотим его повторно использовать. Это полезно, когда наша функция маленькая, и мы не хотим определять новую функцию.

list_numbers = [1, 2, 3, 4]

map_iterator = map(lambda x: x * 2, list_numbers)
print_iterator(map_iterator)

Выход:

2 4 6 8 

Python Map () Многократные аргументы

Давайте посмотрим на пример использования функции MAP () с несколькими уникальными аргументами.

# map() with multiple iterable arguments
list_numbers = [1, 2, 3, 4]
tuple_numbers = (5, 6, 7, 8)
map_iterator = map(lambda x, y: x * y, list_numbers, tuple_numbers)
print_iterator(map_iterator)

Выход: 5 12 21 32

Обратите внимание, что наша функция имеет два аргумента. ITERATOR MAP MAP – это результат применения этой функции к двум повторным элементам параллельно. Давайте посмотрим, что произойдет, когда ейтеары имеют разные размеры.

# map() with multiple iterable arguments of different sizes
list_numbers = [1, 2, 3, 4]
tuple_numbers = (5, 6, 7, 8, 9, 10)
map_iterator = map(lambda x, y: x * y, list_numbers, tuple_numbers)
print_iterator(map_iterator)

map_iterator = map(lambda x, y: x * y, tuple_numbers, list_numbers)
print_iterator(map_iterator)

Выход:

5 12 21 32 
5 12 21 32 

Таким образом, когда аргументы имеют разные размеры, то функция карты применяется к элементам, пока один из них не исчерпан.

Карта Python () с функцией нет

Давайте посмотрим, что произойдет, когда мы передаем функцию как никто.

map_iterator = map(None, 'abc')
print(map_iterator)
for x in map_iterator:
    print(x)

Выход:

Traceback (most recent call last):
  File "/Users/pankaj/Documents/github/journaldev/Python-3/basic_examples/python_map_example.py", line 3, in 
    for x in map_iterator:
TypeError: 'NoneType' object is not callable

Ссылка: Официальная документация