Heim >Backend-Entwicklung >Python-Tutorial >Wozu dient die Kartenfunktion in Python?

Wozu dient die Kartenfunktion in Python?

WBOY
WBOYnach vorne
2023-09-09 19:05:033409Durchsuche

Wozu dient die Kartenfunktion in Python?

In diesem Artikel lernen wir die Verwendung der Kartenfunktion in Python.

Was ist die Funktion „map()“?

Pythons Funktion „map()“ wendet eine Funktion auf jedes Element im Iterator an, der als Eingabe bereitgestellt wird. Listen, Tupel, Mengen, Wörterbücher oder Zeichenfolgen können alle als Iteratoren verwendet werden und alle geben iterierbare Kartenobjekte zurück. map() ist eine integrierte Funktion von Python.

Grammatik

map(function, iterator1,iterator2 ...iteratorN)

Parameter

  • Funktion – Es ist notwendig, eine Karte mit einer Funktion bereitzustellen, die auf alle verfügbaren Elemente des Iterators angewendet wird.

  • iterator – Erzwungenes iterierbares Objekt. Es kann eine Liste, ein Tupel usw. sein. Die Funktion map() akzeptiert mehrere Iteratorobjekte als Parameter.

Rückgabewert

Die

map()-Methode wendet die angegebene Funktion auf jedes Element im Iterator an und erzeugt ein Tupel, eine Liste oder ein anderes iterierbares Kartenobjekt.

Wie funktioniert die Funktion map()?

Funktion und iterierbares Objekt sind die beiden Eingaben der Funktion map(). Die an map() übergebene Funktion ist eine normale Funktion, die jeden Wert in der angegebenen Iterable durchläuft.

Verwenden Sie map() mit einer Liste von Zahlen

Beispiel

Das folgende Programm verwendet die Funktion „map()“ in Python, um 5 zu jedem Element in einer Liste hinzuzufügen -

# creating a function that accepts the number as an argument
def exampleMapFunction(num):
   # adding 5 to each number in a list and returning it
   return num+5
 
# input list
inputList = [3, 5, 1, 6, 10]
 
# Passing above defined exampleMapFunction function
# and given list to the map() function
# Here it adds 5 to every element of the given list 
modifiedList = map(exampleMapFunction, inputList)
# printing the modifies list(map object)
print(modifiedList)
# converting the map object to the list and printing it 
print("Adding 5 to each element in a list using map():\n", list(modifiedList))

Ausgabe

<map object at 0x7fb106076d10>
Adding 5 to each element in a list using map():
 [8, 10, 6, 11, 15]

Verwenden Sie map() mit Wörterbuch

Python verwendet Wörterbücher, um die gebräuchlicheren assoziativen Arrays zu implementieren. Ein Wörterbuch ist eine Menge von Schlüssel-Wert-Paaren. Es wird mit geschweiften Klammern {} definiert.

Wörterbücher sind dynamisch und ändern sich ständig. Sie können bei Bedarf geändert und gelöscht werden. Auf Wörterbuchelemente kann über Schlüssel zugegriffen werden, Listenelemente werden jedoch anhand ihrer Position in der Liste per Index abgerufen. Darin unterscheiden sich Wörterbücher von Listen.

Da es sich bei einem Wörterbuch um einen Iterator handelt, können Sie ihn innerhalb der Funktion „map()“ verwenden.

Beispiel

Das folgende Programm fügt 5 zu jedem Element in einem Wörterbuch hinzu, indem es die Funktion „map()“ in Python verwendet –

# creating a function that accepts the number as an argument
def exampleMapFunction(num):
   # adding 5 to each number in a dictionary and returning it
   return num + 5
 
# input Dictionary
inputDictionary = {2, 3, 4, 5, 6, 7, 8, 9}
 
# passing above defined exampleMapFunction function
# and input dictionary to the map() function
# Here it adds 5 to every element of the given dictionary 
modifiedDict = map(exampleMapFunction, inputDictionary)
# printing the modified dictionary(map object)
print(modifiedDict)
# converting the map object to the list and printing it
print("Adding 5 to each element in a dictionary using map():\n", list(modifiedDict))

Ausgabe

<map object at 0x7fb1060838d0>
Adding 5 to each element in a dictionary using map():
 [7, 8, 9, 10, 11, 12, 13, 14]

Verwenden Sie die Funktion „map()“ mit Tupeln

In Python ist ein Tupel ein Objekt, dessen Elemente durch Kommas getrennt und in Klammern eingeschlossen sind.

Beispiel

Der folgende Code verwendet die Funktionen Lower() und Map(), um alle Elemente im Tupel in Kleinbuchstaben umzuwandeln:

# creating a function that accepts the number as an argument
def exampleMapFunction(i):
   # converting each item in tuple into lower case
   return i.lower()
 
# input tuple
inputTuple = ('HELLO', 'TUTORIALSPOINT', 'pyTHON', 'CODES')
 
# passing above defined exampleMapFunction function
# and input tuple to the map() function
# Here it converts every element of the tuple to lower case 
modifiedTuple = map(exampleMapFunction, inputTuple)
# printing the modified tuple(map object)
print(modifiedTuple)
 
print('Converting each item in a tuple to lowercase:')
# converting the map object to the list and printing it
print(list(modifiedTuple))

Ausgabe

<map object at 0x7fb10f773590>
Converting each item in a tuple to lowercase:
['hello', 'tutorialspoint', 'python', 'codes']

Verwendung von map() und anderen Funktionstools in Python

Mit map() zusammen mit Funktionstools wie filter() und reduce() können wir komplexere Änderungen an iterierbaren Objekten durchführen.

Verwenden Sie die Funktionen „map()“ und „filter()“

In einigen Fällen müssen wir die Eingabe eines iterierbaren Objekts verarbeiten und ein anderes iterierbares Objekt zurückgeben, indem wir unnötige Elemente aus der Eingabe entfernen/filtern. In diesem Fall ist Pythons filter() eine kluge Wahl.

Die Funktion

filter() gibt die iterierbaren Eingabeelemente zurück, die die Funktionsrückgabe true erfüllen.

Wenn keine Funktion übergeben wird, verwendet filter() die Identitätsfunktion. Das bedeutet, dass filter() den wahren Wert jedes Elements in der Iterable prüft und alle falschen Werte entfernt.

Beispiel

Die folgende Funktion verwendet eine Kombination aus den Funktionen filter() und map(), um alle positiven Zahlen in einer Liste zu filtern und ihre Quadratwurzeln zurückzugeben -

# importing math module
import math 
 
# creating a function that returns whether the number 
# passed is a positive number or not 
def isPositive(n): 
   return n >= 0 
 
# creating a function that filters all the positive numbers
# from the list and returns the square root of them. 
def filterSqrtofPositive(nums): 
   # filtering all the positive numbers from the list using filter()
   # and returning the square root of them using the math.sqrt and map()  
   filteredItems = map(math.sqrt, filter(isPositive, nums)) 
   # returning the list of filetred elements
   return list(filteredItems) 
 
# input list
inputList= [16, -10, 625, 25, -50, -25]
# calling the function by passing the input list 
print(filterSqrtofPositive(inputList))

Ausgabe

[4.0, 25.0, 5.0]

Fazit

Mit der Funktion „map()“ von Python können Sie Operationen an iterierbaren Objekten ausführen. Map() wird normalerweise zum Konvertieren und Bearbeiten iterierbarer Objekte ohne Schleifen verwendet.

In diesem Artikel haben wir anhand verschiedener Datentypen als Beispiele gelernt, wie man die Methode map() in Python verwendet.

Das obige ist der detaillierte Inhalt vonWozu dient die Kartenfunktion in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen