map(function, iterable, ...)
Wenden Sie die Funktion auf jedes iterierbare Element an und geben Sie eine Liste der Ergebnisse zurück. Wenn zusätzliche iterierbare Argumente übergeben werden, muss die Funktion so viele Argumente annehmen und wird parallel auf die Elemente aller iterierbaren Argumente angewendet.
Wenn eine Iterable kürzer als eine andere ist, wird angenommen, dass sie um Keine Elemente erweitert wird.
Wenn Funktion ist None
, wird die Identitätsfunktion angenommen; Wenn mehrere Argumente vorhanden sind, wird map()
eine Liste zurückgegeben, die aus Tupeln besteht, die die entsprechenden Elemente aus allen iterablen Elementen enthalten (eine Art Transponierungsoperation).
Die iterierbaren Argumente können eine Sequenz oder ein beliebiges iterierbares Objekt sein. Das Ergebnis ist immer eine Liste.
Welche Rolle spielt dies bei der Herstellung eines kartesischen Produkts?
content = map(tuple, array)
Welchen Effekt hat es, irgendwo ein Tupel zu platzieren? Mir ist auch aufgefallen, dass die Ausgabe ohne die Kartenfunktion ist abc
und damit auch a, b, c
.
Ich möchte diese Funktion vollständig verstehen. Die Referenzdefinitionen sind ebenfalls schwer zu verstehen. Zu viel ausgefallener Flaum.
map(None, a, b, c)
sich herausstellt zip(a, b, c)
. In der Praxis sieht man das jedoch sehr selten, gerade weil der zip
Anruf gleichwertig ist.
tuple
ist eine Funktion (nun, sie ist nuancierter als diese, aber sie verhält sich wie eine Funktion), die eine Iterierbarkeit annimmt und Ihnen ein Tupel mit denselben Elementen gibt - tuple([1, 2, 3])
entspricht also (1, 2, 3)
. Denn map(tuple, array)
, array
wäre ein iterable von Iterables (eine Liste von Listen denken), und es gibt Ihnen jede innere Liste in ein Tupel zurückgedreht.
map
?