map(function, iterable, ...)
Zastosuj funkcję do każdego elementu iterowalnego i zwróć listę wyników. Jeśli przekazane zostaną dodatkowe iterowalne argumenty, funkcja musi przyjąć tyle argumentów i zostanie zastosowana do elementów ze wszystkich iteracyjnych równolegle.
Jeśli jeden iterowalny jest krótszy od drugiego, zakłada się, że zostanie przedłużony o Brak elementów.
Jeśli funkcja jest None, to zakłada się funkcję tożsamości; jeśli istnieje wiele argumentów, map()zwraca listę składającą się z krotek zawierających odpowiednie elementy ze wszystkich iteracji (rodzaj operacji transpozycji).
Argumenty iterowalne mogą być sekwencją lub dowolnym obiektem iterowalnym; wynikiem jest zawsze lista.
Jaką rolę odgrywa to w tworzeniu produktu kartezjańskiego?
content = map(tuple, array)
Jaki efekt ma umieszczenie krotki w dowolnym miejscu? Zauważyłem również, że bez funkcji mapy wyjście jest, abca wraz z nim jest a, b, c.
Chcę w pełni zrozumieć tę funkcję. Definicje referencyjne są również trudne do zrozumienia. Za dużo fantazyjnego puchu.
map(None, a, b, c)okazuje zip(a, b, c). Ale bardzo rzadko widzisz to w praktyce, właśnie dlatego, że zippołączenie jest równoważne.
tuplejest funkcją (cóż, jest bardziej dopracowana, ale zachowuje się jak funkcja), która wymaga iteracji i daje krotkę z tymi samymi elementami - więc tuple([1, 2, 3])jest to równoważne z (1, 2, 3). Za map(tuple, array), arraybyłoby iterable z iterables (myślę listę list), a to daje kopię każdej listy wewnętrzną zamienił krotki.
map?