Exemples pratiques
Scénarios du monde réel
Les compréhensions de liste et les techniques de sommation ont de nombreuses applications pratiques dans divers domaines de la programmation.
Traitement des données
Calcul du chiffre d'affaires total
sales_data = [
{'product': 'laptop', 'price': 1000},
{'product': 'phone', 'price': 500},
{'product': 'tablet', 'price': 300}
]
total_sales = sum([item['price'] for item in sales_data])
Calcul scientifique
Calculs statistiques
## Calculate average temperature
temperatures = [22.5, 23.1, 21.8, 24.0, 22.9]
average_temp = sum(temperatures) / len(temperatures)
## Sum of temperatures above 23 degrees
high_temps_sum = sum([temp for temp in temperatures if temp > 23])
Traitement de texte
Analyse de la longueur des mots
words = ['python', 'programming', 'comprehension', 'example']
total_word_length = sum([len(word) for word in words])
Méthode |
Complexité |
Lisibilité |
Performance |
Boucle traditionnelle |
Moyenne |
Moyenne |
Plus lente |
Compréhension de liste |
Faible |
Élevée |
Plus rapide |
Expression génératrice |
Faible |
Élevée |
La plus efficace |
Filtrage et sommation
## Sum of squared even numbers
numbers = range(1, 11)
squared_even_sum = sum([x**2 for x in numbers if x % 2 == 0])
Flux de travail de la compréhension
graph TD
A[Input Data] --> B{Filter Condition}
B -->|Pass| C[Transform Data]
B -->|Fail| D[Discard]
C --> E[Aggregate/Sum]
E --> F[Result]
Exemple avancé : Analyse des notes
students = [
{'name': 'Alice', 'grades': [85, 90, 92]},
{'name': 'Bob', 'grades': [75, 80, 85]},
{'name': 'Charlie', 'grades': [90, 95, 88]}
]
## Calculate total grades for students with average above 85
high_performers_total = sum([
sum(student['grades'])
for student in students
if sum(student['grades']) / len(student['grades']) > 85
])
Bonnes pratiques
- Utilisez les compréhensions pour un code clair et concis
- Privilégiez les expressions génératrices pour les grands ensembles de données
- Gardez les transformations simples et lisibles
LabEx encourage les développeurs à explorer ces puissantes techniques Python pour écrire un code plus efficace et élégant.