map(function, iterable, ...)
Примените функцию к каждому элементу итерации и верните список результатов. Если переданы дополнительные итерируемые аргументы, функция должна принимать столько аргументов и применяется к элементам из всех итерируемых параллельно.
Если одна итерация короче другой, предполагается, что она расширена элементами None.
Если функция есть None
, предполагается тождественная функция; если есть несколько аргументов, map()
возвращает список, состоящий из кортежей, содержащих соответствующие элементы из всех итераций (своего рода операция транспонирования).
Итерируемые аргументы могут быть последовательностью или любым итеративным объектом; Результатом всегда является список.
Какую роль это играет в создании декартового произведения?
content = map(tuple, array)
Какой эффект имеет размещение кортежа где-нибудь там? Я также заметил, что без функции карты вывод abc
и с ним, это a, b, c
.
Я хочу полностью понять эту функцию. Справочные определения также трудно понять. Слишком много фантазии.
map(None, a, b, c)
оказывается, делает zip(a, b, c)
. Но вы очень редко видите это на практике именно потому, что zip
вызов эквивалентен.
tuple
является функцией (ну, это более нюанс, чем это, но она ведет себя как функция), которая принимает итеративный, и дает вам кортеж с теми же элементами - так tuple([1, 2, 3])
что эквивалентно (1, 2, 3)
. Ибо map(tuple, array)
, array
будет итерируемым итерируемым (представьте список списков), и он возвращает каждый внутренний список, превращенный в кортеж.
map
?