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
?