Understanding Python’s `min()` und `max()` Funktionen
Olivia Novak
Dev Intern · Leapcell

Key Takeaways
min()
undmax()
identifizieren das kleinste bzw. größte Element in Iterables oder unter Argumenten.- Der
key
-Parameter ermöglicht eine benutzerdefinierte Vergleichslogik. - Das
default
-Argument behandelt leere Iterables sicher.
In Python sind die Funktionen min()
und max()
eingebaute Hilfsmittel, um das kleinste bzw. größte Element in einem Iterable oder unter zwei oder mehr Argumenten zu finden. Diese Funktionen sind einfache, aber leistungsstarke Werkzeuge, die häufig in der Datenanalyse, beim Sortieren und bei Vergleichsaufgaben eingesetzt werden.
Grundlegende Verwendung
min()
Funktion
Die Funktion min()
gibt das kleinste Element in einem Iterable oder das kleinste von zwei oder mehr Argumenten zurück.
# Beispiel mit mehreren Argumenten print(min(3, 1, 4, 2)) # Ausgabe: 1 # Beispiel mit einer Liste numbers = [10, 5, 8, 3, 9] print(min(numbers)) # Ausgabe: 3
max()
Funktion
Die Funktion max()
gibt das größte Element in einem Iterable oder das größte von zwei oder mehr Argumenten zurück.
# Beispiel mit mehreren Argumenten print(max(3, 1, 4, 2)) # Ausgabe: 4 # Beispiel mit einer Liste numbers = [10, 5, 8, 3, 9] print(max(numbers)) # Ausgabe: 10
Verwenden des key
-Arguments
Beide Funktionen unterstützen einen key
-Parameter, der eine Anpassung der Vergleichslogik ermöglicht, ähnlich wie bei sorted()
.
# Finden der längsten Zeichenkette words = ["apple", "banana", "cherry", "date"] print(max(words, key=len)) # Ausgabe: "banana"
Die key
-Funktion wird auf jedes Element angewendet, und Vergleiche werden auf der Grundlage des zurückgegebenen Werts angestellt.
Umgang mit Sonderfällen
- Wenn das Iterable leer ist und kein Standardwert angegeben ist, lösen
min()
undmax()
einenValueError
aus. - Sie können den Parameter
default
(Python 3.4+) verwenden, um dies zu vermeiden:
empty_list = [] print(min(empty_list, default=0)) # Ausgabe: 0
Praktische Beispiele
Finden des minimalen Dictionary-Wertes
prices = {'apple': 0.40, 'banana': 0.50, 'cherry': 0.25} cheapest = min(prices, key=prices.get) print(cheapest) # Ausgabe: "cherry"
Vergleichen von Objekten mit min()
und max()
Wenn Sie mit benutzerdefinierten Objekten arbeiten, können Sie definieren, wie diese mit dem Parameter key
verglichen werden.
class Product: def __init__(self, name, price): self.name = name self.price = price products = [Product("A", 30), Product("B", 20), Product("C", 40)] cheapest = min(products, key=lambda p: p.price) print(cheapest.name) # Ausgabe: "B"
Schlussfolgerung
Die min()
- und max()
-Funktionen von Python sind vielseitige und effiziente Werkzeuge, um Extremwerte in Datenstrukturen zu identifizieren. Mit der Unterstützung der Parameter key
und default
bieten sie Flexibilität für den Umgang mit komplexen Vergleichen und Sonderfällen.
FAQs
Ja, indem Sie den Parameter key
verwenden, um zu definieren, wie Objekte verglichen werden.
Es wird ein ValueError
ausgelöst, es sei denn, es wird ein default
-Wert angegeben.
Ja, sie finden Extremwerte in einem einzigen Durchgang, was sie effizienter macht als Sortieren.
Wir sind Leapcell, Ihre erste Wahl für das Hosten von Python-Projekten.
Leapcell ist die Next-Gen Serverless Plattform für Webhosting, Async Tasks und Redis:
Mehrsprachige Unterstützung
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt Projekte kostenlos bereit
- zahlen Sie nur für die Nutzung - keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Inaktivitätsgebühren.
- Beispiel: $25 unterstützt 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeit-Metriken und -Protokollierung für verwertbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Auto-Scaling zur einfachen Verarbeitung hoher Parallelität.
- Null Betriebsaufwand - konzentrieren Sie sich einfach auf den Aufbau.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ