Listes et tuples#
Les variables peuvent également contenir plusieurs entrées de valeurs. On les appelle des listes et des tuples. Certains programmeurs les appellent aussi des vecteurs ou des tableaux ; des tableaux de valeurs. Nous connaissons déjà un type de tableau, les chaînes de caractères. Les chaînes sont des listes de caractères.
Voir aussi
Vous pouvez accéder aux éléments d’un tableau en utilisant des crochets [] qui vous permettent d’accéder à un élément à un index donné. L’indexation commence à 0. Ainsi, le premier élément d’un tableau est l’élément numéro 0. La chaîne suivante contient 5 caractères et donc, on peut accéder aux éléments d’index 0, 1, 2, 3 et 4 :
word = "Hello"
word[0]
'H'
word[1]
'e'
word[2]
'l'
word[3]
'l'
word[4]
'o'
Lorsqu’on accède à un index qui n’est pas dans la liste, nous recevons une erreur :
word[5]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
Input In [8], in <module>
----> 1 word[5]
IndexError: string index out of range
Listes numériques#
Un autre type de tableau sont les listes numériques. Elles sont courantes pour stocker des mesures d’expériences par exemple :
measurements = [5.5, 6.3, 7.2, 8.0, 8.8]
measurements[0]
5.5
measurements[1]
6.3
Modifier les entrées dans les listes fonctionne comme ceci :
measurements[1] = 25
measurements[1]
25
Vous pouvez également ajouter des entrées aux listes :
measurements.append(10.2)
Les listes peuvent également être inversées :
measurements
[5.5, 25, 7.2, 8.0, 8.8, 10.2]
measurements.reverse()
measurements
[10.2, 8.8, 8.0, 7.2, 25, 5.5]
Tout comme les chaînes de caractères, vous pouvez également concaténer des tableaux :
more_measurements = [12.3, 14.5, 28.3]
measurements + more_measurements
[10.2, 8.8, 8.0, 7.2, 25, 5.5, 12.3, 14.5, 28.3]
Lorsque vous travaillez avec des listes numériques, vous pouvez utiliser certaines des fonctions intégrées de Python pour effectuer des statistiques de base sur vos mesures
# valeur minimale dans la liste
min(measurements)
5.5
# valeur maximale dans la liste
max(measurements)
25
# somme de tous les éléments de la liste
sum(measurements)
64.7
# nombre d'éléments dans la liste
len(measurements)
6
# moyenne de tous les éléments de la liste
sum(measurements) / len(measurements)
10.783333333333333
Listes de types mixtes#
Vous pouvez également stocker des valeurs de différents types dans une liste
mixed_list = [22, 5.6, "Cat", 'Dog']
mixed_list[0]
22
mixed_list[3]
'Dog'
type(mixed_list[3])
str
Tuples#
Les tuples sont des listes qui ne peuvent pas être modifiées :
immutable = (4, 3, 7.8)
immutable[1]
3
immutable[1] = 5
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [31], in <module>
----> 1 immutable[1] = 5
TypeError: 'tuple' object does not support item assignment
Vous pouvez convertir des tuples en listes et des listes en tuples :
type(immutable)
tuple
mutable = list(immutable)
type(mutable)
list
again_immuntable = tuple(mutable)
type(again_immuntable)
tuple
Exercice#
Supposons que vous ayez effectué des mesures sur plusieurs jours. Calculez la moyenne des mesures de cette semaine ?
measurements_monday = [2.3, 3.1, 5.6]
measurements_tuesday = [1.8, 7.0]
measurements_wednesday = [4.5, 1.5, 6.4, 3.2]
measurements_thursday = [1.9, 2.0]
measurements_friday = [4.4]