Les listes Python natives

Ce sont des listes créées sans recours à une bibliothèque particulière.

Création

DéfinitionDéfinir une liste Python

Les éléments d'une liste Python sont placés entre [ ], séparés par des virgules.

1
x = []  # Création d'une liste vide
2
temperatures = [20.2, 15.6, 10.3, 8.4, 17.9, 6.6]  # Liste de 6 valeurs numérotées de 0 à 5

Attention : les indices d'une liste commencent à 0.

MéthodeLongueur d'une liste

Pour connaître le nombre de termes d'une liste, on utilise la commande ci-dessous :

1
l = len(temperatures)

Avec la liste définie précédemment, l vaut 6.

Manipulation des listes Python

MéthodeAfficher les termes d'une liste

Pour afficher tous les les termes d'une liste :

1
print(temperatures)

Pour afficher le dernier terme d'une liste :

1
print(temperatures[-1])  # On affiche le dernier terme de la liste.

Pour extraire certains termes d'une liste :

1
print(temperatures[0:4:2])

On affiche les termes d'indices 0 à 4, de deux en deux.

Les termes d'indices supérieur ou égal à 4 ne sont pas affichés.

MéthodeAjouter ou supprimer des termes à une liste

Pour ajouter un terme à la fin d'une liste, exemple avec la liste temperatures :

1
temperatures.append(30.3)  # Ajoute la valeur 30.3 à la fin de la liste temperatures

Pour supprimer un terme d'indice particulier d'une liste :

1
temperatures.pop(4)  # Supprime le terme d'indice 4 de la liste temperatures

Pour supprimer une valeur d'une liste, sans en connaître l'indice :

1
temperatures.remove(15.6)  # Supprime la valeur 15.6 de la liste temperatures

Cette opération efface la première occurrence trouvée et s'arrête ensuite : elle ne supprime pas toutes les valeurs 15.6 si elles apparaissent plusieurs fois dans la liste.

Calculer avec les listes Python natives

Calculer à partir des listes est indispensable pour traiter des données expérimentales :

  • calcul des coordonnées de la vitesse à partir des positions ;

  • calcul des coordonnées de l'accélération à partir des vitesses ;

  • calcul des énergies cinétique, potentielle ou mécanique ;

  • etc...

AttentionPas de calcul direct avec des listes Python

Avec des listes Python, il n'est pas possible de traduire directement une relation mathématique en ligne de commande.

Par exemple, si on dispose d'une liste Python contenant des valeurs de la vitesse v = [2, 3, 4, 6, 7, 8], le calcul des énergies cinétiques correspondantes par la relation \(E_C = \dfrac{1}{2} \cdot m \cdot v^2\) ne peut pas se traduire en Python par EC = 0.5*m*v**2.

Avec une boucle

MéthodeSyntaxe

C'est la méthode la plus simple à comprendre pour les élèves.

On reprend l'exemple avec une liste contenant des valeurs de la vitesse. On souhaite obtenir la liste contenant les valeurs de l'énergie cinétique.

1
v = [2, 4, 6, 7, 8, 9]  # liste contenant les vitesses
2
m = 2.5  # On stocke la masse dans la variable m
3
Ec = []  # Liste vide pour les énergies cinétiques
4
for i in range(len(v)):  # Pour tous les indices de la liste v
5
    Ec.append(0.5 * m * v[i]**2)
6
print(Ec)  # Pour vérification

Création d'une liste en compréhension

MéthodeSyntaxe

Cette méthode produit des instructions plus concises, mais qui peuvent être moins simples à interpréter pour les élèves.

On reprend l'exemple précédent.

1
v = [2, 4, 6, 7, 8, 9]  # liste contenant les vitesses
2
m = 2.5  # On stocke la masse dans la variable m
3
Ec = [0.5 * m * v[i]**2 for i in range(len(v))]  # Calcul des énergies cinétiques
4
print(Ec)  # Pour vérification

Variante dans la syntaxe : il est même possible de se passer des indices i pour effectuer les mêmes opérations :

1
v = [2, 4, 6, 7, 8, 9]  # liste contenant les vitesses
2
m = 2.5  # On stocke la masse dans la variable m
3
Ec = [0.5 * m * val**2 for val in v]  # Calcul des énergies cinétiques
4
print(Ec)  # Pour vérification
ExempleCréation d'une liste de dates entre 0 et 1,5 s, par pas de 0,01 s

La liste en compréhension est particulièrement adaptée pour ce genre d'opération.

1
t = [i * 0.01 for i in range(151)]
2
print(t)  # pour vérification