Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices

Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices

Pythons eingebaute map() wendet eine Funktion auf jedes Element eines Iterierbaren (Liste, Tuple, Set, String, Dictionary usw.) an und gibt ein neues Iterierbares zurück. Sie ist ein Eckpfeiler für funktionalen Programmierstil in Python.

Was Sie lernen werden

Syntax

map(funktion, iterable1, iterable2, ... iterableN)

Parameter

Rückgabewert

Das Ergebnis ist ein map-Objekt – ein lazy Iterierbares, das transformierte Elemente liefert. Konvertieren Sie es in eine Liste, ein Tuple oder ein Set, um die Werte zu materialisieren.

Wie map() funktioniert

Unten ist ein einfaches Beispiel, das jede Zahl in einer Liste quadriert.

def quadrat(n):
    return n * n

meine_liste = [2, 3, 4, 5, 6, 7, 8, 9]
aktualisiert = map(quadrat, meine_liste)
print(list(aktualisiert))  # [4, 9, 16, 25, 36, 49, 64, 81]

Das map-Objekt ist lazy; die Konvertierung in eine Liste erzwingt die Auswertung.

map() mit eingebauten Funktionen verwenden

Kombinieren Sie map() mit jedem eingebauten, der ein einzelnes Argument akzeptiert. Zum Beispiel das Runden von Gleitkommazahlen:

werte = [2.6743, 3.63526, 4.2325, 5.9687967, 6.3265, 7.6988, 8.232, 9.6907]
gerundet = map(round, werte)
print(list(gerundet))  # [3, 4, 4, 6, 6, 8, 8, 10]

Map über Strings

Strings sind iterierbar, daher kann map() jedes Zeichen oder Wort transformieren.

def grossbuchstaben(s):
    return s.upper()

text = "willkommen bei guru99 tutorials!"
print("".join(map(grossbuchstaben, text)))  # WILLKOMMEN BEI GURU99 TUTORIALS!

Map über Zahlenlisten

def mal_zehn(n):
    return n * 10

zahlen = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(mal_zehn, zahlen)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Map über Tupel

def grossbuchstaben_str(s):
    return s.upper()

sprachen = ("php", "java", "python", "c++", "c")
print(list(map(grossbuchstaben_str, sprachen)))  # ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

Map über Dictionaries und Sets

Bei der Iteration über ein Dictionary erhält map() dessen Keys. Bei einem Set ist die Reihenfolge willkürlich.

def mal_zehn(n):
    return n * 10

beispiel_set = {2, 3, 4, 5, 6, 7, 8, 9}
print(sorted(map(mal_zehn, beispiel_set)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Lambda-Funktionen verwenden

Anonyme Funktionen halten den Code prägnant:

zahlen = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(lambda x: x * 10, zahlen)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Mehrere Iteratoren

Beispiel 1: Zwei Listen addieren

def addieren(a, b):
    return a + b

liste1 = [2, 3, 4, 5, 6, 7, 8, 9]
liste2 = [4, 8, 12, 16, 20, 24, 28]
print(list(map(addieren, liste1, liste2)))  # [6, 11, 16, 21, 26, 31, 36]

Beispiel 2: Listen- und Tupel-Elemente verketten

def verketten(a, b):
    return f"{a}_{b}"

buchstaben = ['a', 'b', 'b', 'd', 'e']
marken = ('PHP', 'Java', 'Python', 'C++', 'C')
print(list(map(verketten, buchstaben, marken)))  # ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Wichtigste Erkenntnisse

Python

  1. Python Lambda-Funktionen: Praxisleitfaden zu anonymen Funktionen
  2. Python Generatoren: Effiziente Iteration und fortgeschrittene Anwendungsfälle
  3. Python Closures erklärt: Wie verschachtelte Funktionen Variablen erfassen
  4. Python Decorators meistern: Funktionen mit Experten-Techniken erweitern
  5. C++ Operator‑Overloading: Praktischer Leitfaden mit Code‑Beispielen
  6. C++-Funktionen erklärt: Mit praktischen Code-Beispielen
  7. Python print()-Funktion: Praktischer Leitfaden mit Beispielen
  8. Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
  9. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  10. Python format()-Strings meistern mit klaren Beispielen