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?