Contenu du cours
Introduction à Python
Introduction à Python
Fonctions Intégrées en Python
Que faire si on vous demandait de trouver le plus grand nombre dans une liste ? Avec les connaissances que vous avez acquises, vous pourriez écrire une boucle pour vérifier si l'élément actuel est plus grand/plus petit que le précédent plus grand et le mettre à jour ; sinon, vous continueriez. Mais pour les longues listes, cette méthode peut être assez chronophage. Heureusement, il existe des fonctions intégrées qui peuvent rendre cette tâche plus efficace. En voici quelques-unes :
min(x, y, ...)
- Renvoie la valeur la plus petite parmix, y, ...
;max(x, y, ...)
- Renvoie la valeur la plus grande parmix, y, ...
;abs(x)
- Donne la valeur absolue dex
;round(x, n)
- Arrondit le nombrex
àn
décimales ;pow(x, n)
- Élèvex
à la puissance den
.
Par exemple, supposons que nous voulions calculer la densité de population pour un ensemble de pays dans la liste countries
. Pour ce faire, nous diviserions la population par la superficie. Voici comment cela se fait :
# Initial data countries = [["USA", 9629091, 331002651], ["Canada", 9984670, 37742154], ["Germany", 357114, 83783942], ["Brazil", 8515767, 212559417], ["India", 3166391, 1380004385]] # Iterating over external list for i in range(len(countries)): if type(countries[i]) is list: # Computing population density for a country pop_dens = countries[i][2]/countries[i][1] print(countries[i][0], pop_dens, 'people per km²')
Dans l'exemple ci-dessus, notre liste avait 5 sous-listes imbriquées. Nous avons parcouru la liste principale et vérifié si chaque élément était une liste. Si c'était le cas, nous avons divisé le troisième élément (population) par le deuxième élément (superficie).
Cependant, les résultats n'étaient pas très lisibles car ils avaient plus de 10 décimales. Pour les rendre plus lisibles, nous pouvons utiliser la fonction round()
pour les réduire à seulement 2 décimales. Rappelez-vous, cette fonction prend deux arguments : le premier est le nombre que vous souhaitez arrondir, et le second spécifie combien de décimales vous souhaitez conserver.
# Initial data countries = [["USA", 9629091, 331002651], ["Canada", 9984670, 37742154], ["Germany", 357114, 83783942], ["Brazil", 8515767, 212559417], ["India", 3166391, 1380004385]] # Iterating over external list for i in range(len(countries)): if type(countries[i]) is list: # Computing population density for a country pop_dens = round(countries[i][2]/countries[i][1], 2) print(countries[i][0], pop_dens, 'people per km²')
Comme vous pouvez le voir, le résultat révisé est beaucoup plus clair et facile à comprendre.
Merci pour vos commentaires !