Praktische Beispiele
Echtwelt-Szenarien
List Comprehensions und Summiertechniken haben zahlreiche praktische Anwendungen in verschiedenen Bereichen der Programmierung.
Datenverarbeitung
Berechnung des Gesamtumsatzes
sales_data = [
{'product': 'laptop', 'price': 1000},
{'product': 'phone', 'price': 500},
{'product': 'tablet', 'price': 300}
]
total_sales = sum([item['price'] for item in sales_data])
Wissenschaftliches Rechnen
Statistische Berechnungen
## Durchschnittstemperatur berechnen
temperatures = [22.5, 23.1, 21.8, 24.0, 22.9]
average_temp = sum(temperatures) / len(temperatures)
## Summe der Temperaturen über 23 Grad
high_temps_sum = sum([temp for temp in temperatures if temp > 23])
Textverarbeitung
Analyse der Wortlänge
words = ['python', 'programming', 'comprehension', 'example']
total_word_length = sum([len(word) for word in words])
Leistungsvergleich
Methode |
Komplexität |
Lesbarkeit |
Leistung |
Traditionelle Schleife |
Mittel |
Mittel |
Langsamer |
List Comprehension |
Niedrig |
Hoch |
Schneller |
Generatorausdruck |
Niedrig |
Hoch |
Effizienteste |
Filtern und Summieren
## Summe der Quadrate gerader Zahlen
numbers = range(1, 11)
squared_even_sum = sum([x**2 for x in numbers if x % 2 == 0])
Ablauf der Comprehension
graph TD
A[Eingabedaten] --> B{Filterbedingung}
B -->|Bestanden| C[Daten transformieren]
B -->|Nicht bestanden| D[Verwerfen]
C --> E[Aggregieren/Summieren]
E --> F[Ergebnis]
Fortgeschrittenes Beispiel: Notenanalyse
students = [
{'name': 'Alice', 'grades': [85, 90, 92]},
{'name': 'Bob', 'grades': [75, 80, 85]},
{'name': 'Charlie', 'grades': [90, 95, 88]}
]
## Gesamtpunktzahl für Schüler mit einem Durchschnitt über 85 berechnen
high_performers_total = sum([
sum(student['grades'])
for student in students
if sum(student['grades']) / len(student['grades']) > 85
])
Best Practices
- Verwenden Sie Comprehensions für klaren und kompakten Code.
- Bevorzugen Sie Generatorausdrücke für große Datensätze.
- Halten Sie Transformationen einfach und lesbar.
LabEx ermutigt Entwickler, diese leistungsstarken Python-Techniken zu erkunden, um effizienteren und eleganteren Code zu schreiben.