Académique Documents
Professionnel Documents
Culture Documents
Structure de données
Les types prédéfinis que nous avons vus sont insuffisants pour traiter des
données plus complexes. Ainsi Python offre d’autres types de bases appelés
les conteneurs. Ces derniers sont des objets destinés à contenir d’autres
types d’objets. On peut en citer les plus importantes :
• Les listes
• Les tuples
• Les dictionnaires
• Les ensembles
20
3
Listes
Une liste permet de stocker une séquence
dynamiquement modifiable d'éléments hétérogènes. Les éléments sont
indicés par des entiers commençant à partir de 0.
→ Création d’une liste
On utilise les crochets [elem0,elem1...] pour définir le contenu d'une liste.
4
Listes : insertion
Pour insérer un élément à la fin de la liste, on emploie la méthode
.append(). Par contre si l’on veut spécifier la position exacte de
l’insertion on utilise la méthode .insert().
>>> maListe.append(5)
>>> maListe.insert(2, "Shaun")
Pour insérer plusieurs éléments on utilise la méthode .extend() ou la
concaténation.
>>> maListe.extend(["Bitzer", 23, 5])
>>> maListe += ["Shirley", "Timmy"]
Listes : suppression
Pour supprimer un élément d’une liste, on précise à la fonction del()
l’élément à supprimer. On peut aussi soit préciser à la méthode .remove()
la valeur de l’élément à supprimer, soit préciser à la méthode .pop()
l’indice de l’élément à supprimer.
>>> del(maListe[5])
>>> maListe.remove("Shaun")
>>> maListe.pop(1)
20
5
Listes : méthodes et fonctions
On peut appliquer plusieurs méthodes et fonctions aux
éléments d’une liste parmi lesquelles :
len() renvoie la taille d’une liste
min(), max() renvoient respectivement la valeur minimale et maximale de la
liste
.index(elem) renvoie l’indice de la première occurrence de elem
.sort() ordonne dans l’ordre croissant
.reverse() retourne (renverse) une liste
Listes : slicing
La technique du slicing est une forme avancée de l'indexation permettant
d'accéder aux éléments par intervalles et tranches. Sa syntaxe générale est
: maListe[debut:fin:pas].
Listes multidimensionnelles
Tuples
Les tuples s’utilisent de la même manière que les listes, mais leur
parcours est plus rapide.
Les tuples consomment moins de mémoire
Les tuples sont utiles pour définir des constantes.
20
8
Dictionnaires
Un dictionnaire est une structure de données dite associative, car elle
permet de stocker une valeur en lui associant une clé.
→ Création d’un dictionnaire
Syntaxiquement, on utilise les accolades { } pour définir les éléments du
dictionnaire, c'est-à-dire les paires clé : valeur.
9
Dictionnaires
Comme pour les listes, on peut effectuer plusieurs opérations avec les
dictionnaires.
→ Adressage
L'accès à une valeur du dictionnaire s'effectue en lui passant entre
crochets [ ] la clé correspondante.
>>> monDict['nom']
'Shaun'
Pour modifier la valeur d’un dictionnaire, on associe à la clef
correspondante la nouvelle valeur.
>>> monDict['age'] = 5
→ Fusionner deux dictionnaires
Pour fusionner deux dictionnaires, on utilise la méthode
.update().
>>> monDict.update({'proprietaire': "Joe", 'couleur': "noire"})
20
10
Dictionnaires
Comme pour les listes, on peut effectuer plusieurs opérations avec les
dictionnaires.
Suppression
Pour supprimer une paire (clé, valeur) on emploie la fonction del() ou la
méthode .pop().
>>> del(monDict['famille'])
>>> monDict.pop('famille')
17
Les méthodes .keys(), .values() et .items()
11
Structures de contrôle
Les structures de contrôle décrivent l’enchaînement des instructions. Elles
permettent des traitements séquentiels, conditionnels ou répétitifs
(itératifs).
Dans les langages impératifs tels que le Python, les instructions d’un même
bloc sont exécutées séquentiellement, c’est-à-dire, les unes après les
autres, donc dans l’ordre où elles sont écrites. Les blocs d’instructions
sont matérialisés par leur indentation (décalage depuis la marge de
gauche). C’est par exemple ce que nous avons fait pour définir le corps de
fonctions.
Nous avons déjà travailler avec des programmes écrits dans des fichiers
source.
20
12
a, b = 4, 5
if a > b:
print(a, "est supérieur à ", b)
elif a == b:
print(a, "est égal à ", b)
else:
print(a, "est inférieur à ", b)
4 est inférieur à 5
20
13
Boucle while
i = 0
while i < 5:
print(i)
i += 1
14
Boucle for
0
1
2
3
4
20
15
Instruction continue et break
16
Les fonctions range() , enumerate()
18
L’opérateur d’appartenance in
>>> L = [1, 2, 3, 4, 5]
>>> 3 in L
True
>>> 8 in L
False
>>> 8 not in L
True
L’opérateur in est très utilisé dans les conditions if et les boucles pour
itérer sur une liste.
20
19
20