Надеемся, что это поможет кому-то новому в программировании и python:
Функция map()
должна применять ту же процедуру для каждого item
в iterable data structure
, например lists
, generators
, strings
и другие материалы.
Давайте посмотрим на пример: map()
может iterate
по каждому item
в list
и применить function
к каждому item
, чем return
(вернет вас) new list
.
Подумайте, что у вас есть function
, который принимает число (integer
), добавляет 1 к этому номеру и возвращает его.
def add_one(num):
new_num = num + 1
return new_num
У вас также есть list
номеров (integers
)
my_list = [1,3,6,7,8,10]
, если вы хотите increment
присвоить каждому номеру (integer
) в list
, вы можете сделать следующее:
map(add_one, my_list)
Примечание: минимально map()
требуется два arguments
. Сначала имя function
и второе что-то вроде результата list
.
вышеприведенного примера, map()
вернет вам это:
[2, 4, 7, 8, 9, 11]
Позволяет увидеть некоторые другие прохладный вещи map()
можно сделать. map()
может принимать несколько iterables
(lists, strings, etc
) и передавать element
из каждого list
(я использую список в качестве примера) в function
как argument
.
У нас есть следующие списки:
list_one = [1, 2, 3, 4, 5]
list_two = [11, 12, 13, 14, 15]
list_three = [21, 22, 23, 24, 25]
map()
может сделать вас new list
, который содержит добавление элементов в конкретном index
(положение).
Теперь запомните map()
, ему понадобится function
.
def add_from_three_lists(num1, num2, num3):
total_num = num1 + num2 + num3
return total_num
теперь позволяет использовать функцию map()
map(add_from_three_lists, list_one, List_two, list_three)
, и вы получите:
[33, 36, 39, 42, 45]
] ПОМНИТЕ: В Python2 map()
будет iterate
(пройдите через элементы lists
) в соответствии с самым длинным list
и передайте NoneType
функции для более короткого lists
, поэтому ваш function
должен искать NoneType
и обрабатывать их, иначе вы получите errors
. В python 3 map()
будет идти только по кратчайшему list
. Кроме того, в Python 3, map()
возвращает итератор, а не список.