Vous êtes sur la page 1sur 42

LES STRUCTURES DE DONNÉES EN Safa CHEBBI

PYTHON 22/04/2021
LES SÉQUENCES
INTRODUCTION: LES SÉQUENCES
LES LISTES: DÉFINITION
Une liste est une collection ordonnée et modifiable (mutable) d’objets
éventuellement hétérogènes séparés par des virgules et définis entre
crochets [].
Exemples:
LES LISTES: INDEXATION
L’indexation: une technique permettant d’accéder directement à un élément de la liste.

Liste = ‘Paris’ ‘Berlin’ ‘Londres’ ‘Bruxelles’

(index): 0 1 2 3
Liste[#index]=élément
Liste[0]: premier élément
Liste[-1]: dernier élément

Un indice négatif permet d'accéder


aux éléments à partir de la fin.
LES LISTES: SLICING OU DÉCOUPAGE
Le slicing: une technique permettant d’accéder à un ensemble d’éléments dans une liste en
indiquant un ensemble d’indexes.
Liste[début : fin : pas]
Début=0, fin=3 ‘Paris’ ‘Berlin’ ‘Londres’ ‘Bruxelles’
Liste[0:3] ==Liste[:3] 0 1 2 3

Début=2, fin=dernier
‘Paris’ ‘Berlin’ ‘Londres’ ‘Bruxelles’
Liste[2:]
0 1 2 3

Début=0, fin=dernier, pas=2


‘Paris’ ‘Berlin’ ‘Londres’ ‘Bruxelles’
Liste[::2] 0 1 2 3
LES LISTES: INDEXATION ET SLICING
Si S est une Liste:

Les indices commencent par 0


S[i] retourne (i+1)ème élément de S
S[ :a]: sous liste d’éléments de début jusqu’à l’élément d’indice a exclu
S[a: ]: sous liste d’éléments de l’indice a inclus jusqu’à la fin
S[ : ]: toute la liste (la sous-liste complète)
S[a:b]: sous liste d’éléments allant de l’indice a inclu jusqu’à l’élément d’indice b
exclu
S[a:b:c]: sous liste d’éléments de l’indice a inclu jusqu’à indice b exclu par pas
égal à c
LES LISTES: MÉTHODES PRÉDÉFINIES (1)
LES LISTES: MÉTHODES PRÉDÉFINIES (2)
EXERCICES: LES LISTES (1)
Exercice 1:

1. Ecrire un script Python qui permet de créer une liste semaine qui comprend les jours de la
semaine
2. Affiche la liste de la semaine
3. Afficher la taille de la liste qui représente le nombre de jours de la semaine
4. Afficher la sous liste des jours depuis Mardi jusqu’au vendredi
5. Afficher le dernier jour en utilisant l’indexage négatif
6. Afficher la liste Inversée
EXERCICES: LES LISTES (2)
Exercice 1:
EXERCICES: LES LISTES (3)
Exercice 2:

Soit la liste : S = [10, 20, 50, 25, 30] :


1. Définir puis triez et affichez la liste S ;
2. ajoutez l’élément 12 à la liste et affichez la liste ;
3. renversez et affichez la liste ;
4. affichez l’indice de l’élément 25;
5. enlevez l’élément 50 et affichez la liste ;
6. affichez la sous-liste du 2ème au 3ème élément ;
7. affichez la sous-liste du début au 2ème élément ;
8. affichez la sous-liste du 3ème élément à la fin de la liste ;
9. affichez la sous-liste complète de la liste ;
10. affichez le dernier élément en utilisant un indexage négatif.
EXERCICES: LES LISTES (4)
LES TUPLES: DÉFINITION
Un tuple (appelé également n-uplet) est une collection ordonnée et non modifiable
d’éléments éventuellement hétérogènes.

Un tuple est immutable, dès qu’il est créé on ne peut pas le modifier:
Un tuple est protégé
Utile pour faire passer beaucoup de données: un tuple utilise moins de mémoire qu’une liste

On se sert très rarement des tuples, on utilise généralement des listes.
LES TUPLES: EXEMPLES
LES CHAINES DE CARACTÈRES: DÉFINITION
Une chaine de caractère est une séquence de caractère entre côtes non modifiable !
LES CHAINES DE CARACTÈRES: INDEXATION ET
SLICING
LES CHAINES DE CARACTÈRES: MÉTHODES
PRÉDÉFINIES
REMARQUE
Les chaînes et les Tuples n’étant pas modifiable il est possible de migrer
vers des listes au moyen de l’instruction suivante list:
LES ENSEMBLES ET LES DICTIONNAIRES
LES ENSEMBLES: DÉFINITION (1)
Un ensemble en python est une collection non ordonnée, non indexé et modifiable
(mutable) d’objets de type quelconque séparés par des virgules et définis entre
crochets {}.

PS: L’ordre des éléments d’un ensemble n’a pas d’importance

PS: Une même valeur ne peut apparaitre qu’une seule fois dans un ensemble.
LES ENSEMBLES: DÉFINITION (2)
Déclaration d’un ensemble par {}: Déclaration d’un ensemble par set():
ACCÈS AUX ÉLÉMENTS D’UN ENSEMBLE
Les éléments d’un ensemble ne sont pas numérotés (indexés) E[i]: n’a
pas de sens pour accéder à un élément d’un ensemble
PARCOURS D’UN ENSEMBLE
LES OPÉRATIONS ENSEMBLISTES
L’union: l’opérateur ‘|’ ou la méthode union()

PS: Une même valeur ne peut apparaitre qu’une seule fois dans un ensemble=>
La valeur 1 est considérée une seule fois dans l’union entre E1 et E2.
LES OPÉRATIONS ENSEMBLISTES
L’intersection: l’opérateur ‘&’ ou la méthode intersection()
LES OPÉRATIONS ENSEMBLISTES
La différence: l’opérateur ‘-’ ou la méthode difference()
LES OPÉRATIONS ENSEMBLISTES
La différence symétrique (ou bien ou exclusif): l’opérateur ‘^’ ou la méthode
symmetric_difference()
LES FONCTIONS PRÉDÉFINIES (1)
len(E): retourne le nombre d’éléments dans un ensemble.

max(E): retourne la plus grande valeur dans un ensemble.

min(E): retourne la plus petite valeur dans un ensemble.

del(E): supprime l’ensemble E définitivement.


LES FONCTIONS PRÉDÉFINIES (2)
add(): ajouter un élément à l’ensemble.

copy(): crée une copie de l’ensemble indépendante de l’originale.

clear(): effacer le contenu d’un ensemble.


LES FONCTIONS PRÉDÉFINIES (3)
remove(): retire un élément d’un ensemble (KeyError s’il n’existe pas)

pop(): renvoie et supprime un élément arbitraire de l’ensemble (KeyError si l’ensemble est


vide)

discard(): retire un élément d’un ensemble s’il y est effectivement (pas d’erreur sinon)
LES FONCTIONS PRÉDÉFINIES (3)

Elt in E: retourne True si l’élément Elt existe dans l’ensemble E et false sinon

Elt not in E: retourne True si l’élément Elt n’existe pas dans l’ensemble E et false sinon
EXERCICE D’APPLICATION
Exercice:
Définir deux ensembles (sets) : X = {a,b,c,d} et Y = {s,b,d}, puis affichez les
résultats suivants :
I. – les ensembles initiaux ;
II. – le test d’appartenance de l’élément 'c' à X ;
III. – le test d’appartenance de l’élément 'a' à Y ;
IV. – la différence entre X et Y ;
V. – l’ensemble Z = X union Y ;
VI. – l’ensemble W = X inter Y.
EXERCICE D’APPLICATION
Correction exercice:
LES DICTIONNAIRES: DÉFINITION (1)
Un dictionnaire (tableau associatif Non ordonné ,Mutable) est un type de données
permettant de stocker des couples de la forme clé:valeur, avec un accès très rapide
à la valeur à partir de la clé.

D={clé1:valeur, clé2:valeur, clé3:valeur, …………..}

Élément 1 Élément 2 Élément 3

PS: la clé ne peut être présente qu’une seule fois dans un dictionnaire.
LES DICTIONNAIRES: DÉFINITION (2)

Exemples:
LES DICTIONNAIRES: DÉFINITION (3)
Dictionnaire
Liste ‘Pommes’: 120
‘Pommes’ ‘Poires’ ‘Pêches’ ‘oranges’ ‘Poires’: 120

0 1 2 3 ‘Pêches’: 120
(index)
‘oranges’: 120

Dans un dictionnaire, il n’y a pas d’ordre: la notion d’index n’a pas de sens
LES DICTIONNAIRES IMBRIQUÉS
LES FONCTIONS PRÉDÉFINIES (1)
LES FONCTIONS PRÉDÉFINIES (2)

‘Erreur’
PARCOURS DES ÉLÉMENTS D’UN DICTIONNAIRE
EXERCICES D’APPLICATION
Exercice 1:
Soit le dictionnaire :
>>> d = {'nom': 'Dupuis', 'prenom': 'Jacque', 'age': 30}
1. Corriger l'erreur dans le prénom, la bonne valeur est 'Jacques'.
2. Afficher la liste des clés du dictionnaire.
3. Afficher la liste des valeurs du dictionnaire.
4. Afficher la liste des paires clé/valeur du dictionnaire.
5. Ecrire la phrase "Jacques Dupuis a 30 ans".

Vous aimerez peut-être aussi