Une liste est une structure de données propre au langage de programmation Python. Les explications de ce mini-cours porteront donc sur l'utilisation des listes, avec Python, mais les principes présentés restent valables en langage naturel.

Fonctions natives

Premier et dernier élément avec min et max

Les fonctions natives min et max fonctionnent avec les listes. Elles permettent de récupérer :

  • le plus petit et le plus grand élément d’une liste de valeurs numériques ;
  • le premier et le dernier élément, par ordre alphabétique, d’une liste de chaînes de caractères.

Nombre d’éléments d’une liste avec len

Il est souvent nécessaire d’obtenir la taille d’une liste, c’est-à-dire le nombre d’éléments qu’elle contient. Dans ce cas, on peut se servir de la fonction len, qui retourne le nombre d’élément de la liste : len(nom_liste)

Voici un exemple de programme permettant d’afficher le nombre d’éléments d’une liste :

fruits = ['orange', 'kiwi','poire','pomme']
print(len(fruits))

Il donne dans la console :

4

Tri d’une liste avec sorted

Il existe une fonction sorted, qui prend comme argument une liste, et qui retourne une nouvelle liste triée des éléments qu’elle contient. Dans la nouvelle liste, les éléments se trouvent dans l’ordre, numérique ou alphabétique.

sorted ne modifie pas la liste initiale, elle ne fait que renvoyer une valeur qu’il faudra ensuite stocker dans une variable ou afficher dans la console par exemple.

Voici un exemple de programme triant et affichant les éléments d’une liste :

fruits = ['orange', 'kiwi','poire','pomme']
alphabetic_fruits = sorted(fruits)
print(alphabetic_fruits)
print(fruits)

Il donne dans la console :

['kiwi', 'orange', 'poire', 'pomme']
['orange', 'kiwi', 'poire', 'pomme']

Tri d’une liste dans l’ordre inverse

Il est aussi possible de trier les éléments de la liste dans l’ordre inverse en ajoutant le paramètre reverse à la valeur True, lors de l’appel à sorted. Voici la syntaxe : sorted(list, reverse=True)

Liste avec ses propres fonctions

Liste comme argument

Une fonction pourra prendre comme argument une liste.

Voici un exemple de programme avec une fonction get_3marks_avg, qui calcule la moyenne de 3 notes. Elle reçoit un argument marks_list qui est une liste. L’algorithme principal passe la liste marks comme argument lors de l’appel de la fonction get_3marks_avg :

def get_3marks_avg(marks_list):
average = (marks_list[0] + marks_list[1] + marks_list[2]) / 3
return average


marks = (14.5, 19.5, 17.0)
average = get_3marks_avg(marks)
print('La moyenne des 3 notes est', average, '/ 20')

Il donne dans la console :

La moyenne des 3 notes est 17.0 / 20

Liste comme valeur renvoyée

Une liste peut aussi être utilisée comme valeur renvoyée par une fonction. Cela permet de renvoyer plusieurs résultats pour une même fonction, ce que l’on ne peut pas faire lorsque l’on renvoie un type de données simple (int, float, str et bool).

Voici un exemple de programme avec une fonction get_3marks_stats, qui calcule la moyenne, la meilleure et la pire note, de 3 notes. Elle possède un paramètre marks_list qui est une liste et elle renvoie une liste stats_liste qui contient trois éléments de type float :

def get_3marks_stats(marks_list):
best_mark = max(marks_list[0], marks_list[1], marks_list[2])
# on peut aussi écrire : best_mark = max(marks_list)
worst_mark = min(marks_list[0], marks_list[1], marks_list[2])
# on peut aussi écrire : worst_mark = min(marks_list)
average = (marks_list[0] + marks_list[1] + marks_list[2]) / 3
stats_list = (best_mark, worst_mark, average)
return stats_list


marks = (14.5, 19.5, 17.0)
stats = get_3marks_stats(marks)
print('La meilleure note est', stats[0], '/ 20')
print('La pire note est', stats[1], '/ 20')
print('La moyenne des 3 notes est', stats[2], '/ 20')

Il donne dans la console :

La meilleure note est 19.5 / 20
La pire note est 14.5 / 20
La moyenne des 3 notes est 17.0 / 20