Les structures de données
1
Les différentes structures de données
• Les Listes (
• Les Tuples (
• Les Sets
• Les Dictionnaires
2
Les listes
3
Principe d’une liste
Une liste est déclarée par une série de valeurs séparées par des virgules, et le
tout encadré par des crochets.
On appellera une valeur précise d’une liste en utilisant son index.
Le décompte des index d’une liste commence à 0
On peut accéder à la dernière valeur de la liste avec l’indexe -1
4
Organisation d’une liste
Les boucles sont les
alliés naturels des
structures de
données tel que les
listes car elles nous
permettent de les
parcourir
Note : Une liste peut
contenir plusieurs types
de variable et même
contenir une autre liste
5
Connaitre la taille d’une liste
La fonction len() renvoie un
entier représentant le
nombre d’élément dans le
tableau
6
Parcourir une liste
L’opérateur « : » permet de parcourir une partie voulu d’une liste
Note : cela marche aussi pour
les chaines de charactère
Ne rien mettre avant les deux points impliquent qu’on veut prendre toutes les
données depuis le début alors que ne rien mettre après, implique qu’on prend toutes
les données jusqu’à la fin.
On peut changer le pas pour
se déplacer dans une liste.
Dans l’exemple suivant on va
de 3 à 5 avec un pas de 2
7
Initialisation d’une liste
On peut initialiser une liste de plusieurs manières.
L’initialisation d’une liste vide est faisable de deux manières différentes :
On peut remplir une liste de la manière
suivante :
8
Ajouter une données
Pour ajouter une valeur la méthode
la plus basique est d’utiliser la
fonction append().
Cette fonction va directement
rajouter une nouvelle valeur à la fin
de la liste
9
Insérer des informations dans une liste
On peut directement insérer des
informations dans une liste en
notant son index. Cette
méthode a comme inconvénient
d’écraser les informations déjà
présente. L’autre problème est
que plus la liste est longue, plus
il est difficile d’utiliser cette
méthode.
10
Concaténer des données
On peut concaténer deux
listes en elles pour faire une
plus grande liste.
11
Fonctions utiles pour les listes
• append() -> Prend une variable en entrée et la place à la fin de la liste
• insert() -> Prend un entier et une valeur en entrée place la valeur à l’indexe de
l’entier
• index() -> Prend une valeur en entrée et renvoie l’indexe de la valeur de la liste
• pop() -> Prend un entier en entrée et retire la valeur à l’indexe de l’entier de la
liste. Cette valeur peut être directement stocké si besoin
• remove() -> Prend une valeur en entrée et la retire de la liste
• reverse() -> Inverse le sens de la liste
• sort() -> Tri la liste
12
Liste à deux dimensions
Les listes à deux dimensions peuvent être vu comme des tableaux dans lesquels
on va mettre des informations. On va mettre une liste dans une liste, chaque
liste va représenter une ligne du tableau. Une autre méthode pour utiliser du
tableau est de récupérer la librairie numpy.
13
Les listes en compréhensions
14
Methode par extension
15
Methode par itération
16
Methode par compréhension
17
Methode par compréhension
18
Fusion de conditions et de listes en
compréhensions
19
Fusion de conditions et de listes en
compréhensions
a = [1,5,8,2,12,3,5]
b = [n**2 if n%2 == 0 else n**3 for n
in a]
20
Les boucles imbriqués
mult = []
for i in range(1,4):
for j in range(1,8):
[Link](i*j)
mult = [i*j for j in range(1,8) for i in
range(1,4)]
21
Boucles imbriqués et tableau à deux
dimensions
M=
M = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
M = [[4*i + j + 1 for j in range(4)] for i in
range(3)]
22
Les Tuples ou n-uplets
23
Initialisation d’un Tuple
Les tuples sont des structures de
données fonctionnant de la même t = (1,2,3)
manière qu’une liste à la différence
qu’ils ne sont pas modifiables. On for elem in t:
les utilise quand on veut sécuriser
print(elem)
nos variable pour qu’elles ne soient
pas directement modifiables.
24
Exemple de tuple
Dans notre exemple, la fonction range va générer un tuple avec des valeurs allant
de 0 à 9 (nous verrons plus tard la signification de tuple). La variables i va prendre
tour à tour une valeur de ce tuple à chaque itération de la boucle.
Initialisation d’un Tuple
def exemple():
Dans les cas nous avons une a = 5
utilisation implicite d’une structure b = "coucou"
de donnée, cela sera à chaque fois c = 2.5
un tuple. d = "ah"
return a, b, c, d
a = exemple()
26
Le cast d’un Tuple
Une liste peut être casté pour créer c = [1, 2, 3]
un tuple. La lecture d’un tuple va se
faire de la même manière qu’une c = tuple(c)
structure de donnée classique, à
partir d’un index ou en le
parcourant dans une boucle print(c[2])
27
Les Sets
28
Le cast d’un Tuple
Les sets sont des structures de
données modifiables qui ont la
particularité de supprimer les
doublons dans la structure et de
s = {}
trier les données par ordre
croissant en numériques ou
alphabétiques.
29
Les Dictionnaires
30
Initialisation d’un dictionnaire
eleve = ("Gerard", 3, 12, 2007) eleve = {"prenom" : "Gerard",
print(eleve[1]) "jour" : 3,
"mois" : 12,
"année" : 2007}
print(eleve["jour"])
Le problème d’une notation avec index est qu’on est obligé de
retenir à quelle positions se trouve chaque élément. Nous devons
retenir que le jour de naissance est à l’index 1. Avec un
dictionnaire, nous devons juste appelé la clé : « jour ». 31
Le cast d’un Tuple
ma_voiture = {}
On peut construire un dictionnaire
ma_voiture["marques"] =
en donnant explicitement toutes "Renault"
entrées sous la forme ma_voiture["modele"] = "Twingo"
ma_voiture["annee"] = 1996
Ma_variable[« clé »] = Valeur len(ma_voiture)
32
Parcourire un dictionnaire
Parcourir un dictionnaire dans une
boucle ne va pas directement Pour avoir ses valeurs on devra
donner la valeur mais va donner ses écrire de la manière suivante :
clés.
for clé in ma_voiture: for clé in ma_voiture:
print(clé) print(ma_voiture[clé])
33
FIN
Merci
34