map(function, iterable, ...)
Zastosuj funkcję do każdej pozycji z iteracji i zwróć listę wyników. Jeśli przekazywane są dodatkowe iterowalne argumenty, funkcja musi przyjmować wiele argumentów i jest stosowana równolegle do elementów ze wszystkich iteracji.Opis funkcji mapy
Jeśli jedna iteracja jest krótsza od innej, zakłada się, że jest ona uzupełniona o Brak pozycji.
Jeśli funkcja ma wartość None
, przyjęto funkcję identyfikacji; jeśli istnieje wiele argumentów, map()
zwraca listę składającą się z krotek zawierających odpowiednie pozycje ze wszystkich iterables (rodzaj operacji transpozycji).
Iterowalne argumenty mogą być sekwencją lub dowolnym obiektem iterowanym; wynikiem jest zawsze lista.
Jaką rolę odgrywa to w tworzeniu produktu kartezjańskiego?
content = map(tuple, array)
Jaki wpływ ma umieszczenie krotki w dowolnym miejscu? Zauważyłem również, że bez funkcji mapowej wyjście to , a wraz z nim a, b, c
.
Chcę w pełni zrozumieć tę funkcję. Definicje referencyjne również są trudne do zrozumienia. Za dużo fantazyjnego puchu.
Co właściwie chcesz osiągnąć i dlaczego konkretnie chcesz użyć 'map'? –
więc mapa po prostu stosuje się do każdego elementu? –
@WebMaster tak, zgodnie z pierwszym zdaniem wklejonej dokumentacji - "Zastosuj funkcję do każdej pozycji z iteracją". Reszta paragrafu dotyczy bardziej złożonych przypadków - na przykład 'map (None, a, b, c)' okazuje się robić 'zip (a, b, c)'. Ale bardzo rzadko zdarza się to w praktyce, właśnie dlatego, że wywołanie "zip" jest równoważne. – lvc