Python

Calculer la somme, la moyenne et la médiane d’une liste en Python : Exemples avancés

Le calcul de la somme, de la moyenne et de la médiane d’une liste en Python peut être étendu pour traiter des cas plus avancés et des situations réelles. Dans cet article, nous allons explorer des exemples avancés de calcul de statistiques à partir de listes de nombres en utilisant Python.

Calcul de la somme d’une liste avec filtrage

Supposons que vous ayez une liste de nombres, mais que vous souhaitiez calculer la somme uniquement des nombres qui satisfont à une certaine condition, par exemple, les nombres pairs. Vous pouvez utiliser une compréhension de liste pour filtrer les éléments et ensuite calculer leur somme. Voici un exemple :

liste_de_nombres = [10, 21, 30, 45, 50]

somme_des_nombres_pairs = sum(x for x in liste_de_nombres if x % 2 == 0)

print("La somme des nombres pairs est :", somme_des_nombres_pairs)

Dans cet exemple, nous utilisons une compréhension de liste pour filtrer les nombres pairs de la liste avant de calculer leur somme.

Calcul de la moyenne pondérée

Dans certaines situations, vous pourriez avoir besoin de calculer une moyenne pondérée, où chaque élément de la liste a un poids spécifique. Par exemple, vous pourriez avoir une liste de notes d’examens et une liste correspondante de coefficients pour chaque examen. Vous pouvez calculer la moyenne pondérée comme ceci :

notes = [85, 90, 78, 92]
coefficients = [0.3, 0.2, 0.2, 0.3]

moyenne_ponderee = sum(n * w for n, w in zip(notes, coefficients)) / sum(coefficients)

print("La moyenne pondérée est :", moyenne_ponderee)

Dans cet exemple, nous utilisons la fonction zip() pour associer chaque note à son coefficient correspondant, puis nous calculons la somme des produits des notes et des coefficients, que nous divisons ensuite par la somme des coefficients pour obtenir la moyenne pondérée.

La méthode que nous avons présentée précédemment pour calculer la médiane suppose que la liste est triée. Cependant, dans de nombreux cas, vous pourriez avoir une liste non triée. Vous pouvez calculer la médiane dans ce cas en utilisant la fonction sorted() pour trier temporairement la liste, puis en appliquant la même approche. Voici un exemple :

def calculer_mediane_non_triee(liste):
    liste_triee = sorted(liste)
    longueur = len(liste_triee)

    if longueur % 2 == 1:
        mediane = liste_triee[longueur // 2]
    else:
        milieu_gauche = liste_triee[(longueur // 2) - 1]
        milieu_droit = liste_triee[longueur // 2]
        mediane = (milieu_gauche + milieu_droit) / 2

    return mediane

liste_de_nombres_non_triee = [30, 10, 50, 21, 45]
mediane_non_triee = calculer_mediane_non_triee(liste_de_nombres_non_triee)

print("La médiane des nombres non triée est :", mediane_non_triee)

Dans cet exemple, nous utilisons une fonction calculer_mediane_non_triee qui trie temporairement la liste avant de calculer la médiane, même si la liste d’origine n’est pas triée.

Conclusion

Le calcul de la somme, de la moyenne et de la médiane d’une liste en Python peut être adapté pour répondre à des besoins avancés. En utilisant des compréhensions de liste, des pondérations ou en traitant des listes non triées, vous pouvez manipuler efficacement des données pour obtenir les statistiques nécessaires dans des scénarios réels. En comprenant ces exemples avancés et en les adaptant à vos besoins spécifiques, vous serez en mesure de résoudre une variété de problèmes liés à l’analyse de données en Python.

Upgrade : Calculer la somme, la moyenne et la médiane d’une liste en Python : Approfondissement

Autres articles

Conversion de Binaire en Hexadécimal en Python
La conversion entre différents systèmes de numérotation est une compétence...
Read more
Différence entre une Liste et un Tableau...
Python est un langage de programmation très polyvalent et puissant,...
Read more
Créer une Matrice de Corrélation en Python...
Dans cet article, nous allons voir comment créer une...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *