Vous êtes sur la page 1sur 26

L’Université Libre de Tunis

Institut Polytechnique Privé (IP2)

Chapitre III: Conteneurs Standards

réalisé par :
Wiem MIMOUN BEN HENIA

2019-2020
Python dispose des types de données simples (entiers ,réels, chaines de caractères,…), et
composés, notamment les conteneurs (liste, tuple, ensemble et dictionnaire).

Un conteneur est un objet composite destiné à contenir d’autres objets.

Une séquence est un conteneur ordonné d’éléments indexés par des entiers
indiquant leur position dans le conteneur.

 Python dispose de trois types prédéfinis de séquences :


 les chaînes
 les listes
 les tuples
Plan
•Définition et Syntaxe

1. Listes •Méthodes

•Séquences de séquences

•Définition
2. Tuples •Syntaxe

3. Tableaux associatifs

4. Ensembles

5. Itération sur les conteneurs

6. Affectation
3
•Définition et Syntaxe
1. Listes •Méthodes
•Séquences de séquences

Listes

Définition:

Une liste est une collection ordonnée et modifiable d’éléments éventuellement


hétérogènes.

Syntaxe :

Éléments séparés par des virgules et entourés de crochets.

4
•Définition et Syntaxe
1. Listes •Méthodes
•Séquences de séquences

Initialisations

Initialisation d’une liste vide

Répétition d’un élément dans une liste

Initialisation d’une liste en


utilisant la fonction range()

Test d’appartenance 5
•Définition et Syntaxe
1. Listes •Méthodes
•Séquences de séquences

Initialisations

6
•Définition et Syntaxe
1. Listes •Méthodes
•Séquences de séquences

Méthodes de modification des listes

7
•Définition et Syntaxe
1. Listes •Méthodes
•Séquences de séquences

Méthodes de modification des listes

8
•Définition et Syntaxe
1. Listes •Méthodes
•Séquences de séquences

9
•Définition
2. Tuples •Syntaxe

Tuples

Définition:
Un tuple est une collection ordonnée et non modifiable d’éléments éventuellement
hétérogènes.

Syntaxe :
Éléments séparés par des virgules et entourés de parenthèses.

 L’indexage des tuples s’utilisent comme celui des listes


 Le parcours des tuples est plus rapide que celui des listes
 Ils sont utiles pour définir des constantes.
10
•Définition
2. Tuples •Syntaxe

Attention :
Comme les chaînes de caractères, les tuples ne sont pas modifiables !

11
•Définition
2. Tuples •Syntaxe

Les opérations des objets de type séquentiel: chaîne, liste et tuple


 Les opérations communes des séquences (s) sont présentées dans ce tableau où l et s désignent deux
séquences du même type et i, j et k des entiers :

Opération Résultat
l in s True si s contient l, False sinon
l not in s True si s ne contient pas x, False sinon
s+l concaténation de s et l
s * n, n * s n copies (superficielles) concaténées de s
s[i] ième élément de s (à partir de 0)
s[i:j] tranche de s de i (inclus) à j (exclu)
s[i:j:k] tranche de s de i à j avec un pas de k
len(s) longueur de s
max(s), min(s) plus grand, plus petit élément de s
s.index(elem) indice de la première occurrence de elem dans s
s.count(i) nombre d’occurrences de i dans s 12
2. Applications

Exercice 1. Définir la liste : liste =[17, 38, 10, 25, 72], puis effectuez les actions suivantes :
– triez et affichez la liste ;
– ajoutez l’élément 12 à la liste et affichez la liste ;
– renversez et affichez la liste ;
– affichez l’indice de l’élément 17 ;
– enlevez l’élément 38 et affichez la liste ;
– affichez la sous-liste du 2ème au 3ème élément ;
– affichez la sous-liste du début au 2ème élément ;
– affichez la sous-liste du 3ème élément à la fin de la liste ;
– affichez la sous-liste complète de la liste ;
– affichez le dernier élément en utilisant un indiçage négatif.

Exercice 2. Écrire un programme chaine.py qui donne le nombre de caractères de chaque


élément d’un tuple qui contient uniquement des chaines de caractères
3. Tableaux Associatifs

Tableaux Associatifs: Dictionnaire (dict)

Définition:
Un tableau associatif est un type de données permettant de stocker des couples
(clé : valeur), avec un accès très rapide à la valeur à partir de la clé qui doit être présente
qu’une seule fois dans le tableau.
Il possède les caractéristiques suivantes :
 l’opérateur d’appartenance d’une clé (in)
 la fonction taille (len()) donnant le nombre de couples stockés
 il est itérable mais il n’est pas ordonné.

Syntaxe :
Collection de couples {key : value} entourée d’accolades.

14
3. Tableaux Associatifs

Les dictionnaires constituent un type composite mais ils n’appartiennent pas


aux séquences.
Les dictionnaires sont modifiables mais non-ordonnés : les couples enregistrés
n’occupent pas un ordre immuable
Leur emplacement est géré par un algorithme spécifique (algorithme de hash).

Le caractère non-ordonné des dictionnaires est le prix à payer pour leur


rapidité !

Une clé pourra être alphabétique, numérique (tout type hachable (donc liste et
dictionnaire exclus)).
Les valeurs pourront être de tout type sans exclusion.

15
3. Tableaux Associatifs

Initialisations

16
3. Tableaux Associatifs

Méthodes sur les dictionnaires

17
4. Ensembles

Définition et Syntaxe

Définition:
Un ensemble est une collection itérable et non ordonnée d’éléments hachables
uniques.

Un set est la transposition informatique de la notion d’ensemble mathématique.

il existe deux types d’ensemble, les ensembles modifiables : set(iter) et les ensembles non
modifiables: frozenset(iter)*.

*On retrouve ici les mêmes différences qu’entre les listes et les tuples
4. Ensembles

Exemples d’ensembles
5. Itération sur les conteneurs (1/3)

1. Obtenir les clés et les valeurs en bouclant sur un dictionnaire

2. Obtenir indice et élément en bouclant sur une liste


5. Itération sur les conteneurs (2/3)

3. Obtenir l’indice et l’élément en bouclant sur une liste


5. Itération sur les conteneurs (3/3)

4. Obtenir une séquence inversée (la séquence initiale est inchangée) :

5. Obtenir une séquence triée à éléments uniques (la séquence initiale est inchangée) :
6.
A Affectation

Les affectations réalisent plusieurs opérations :


création en mémoire d’un objet du type approprié (membre de
droite)
stockage de la donnée dans l’objet créé ;
création d’un nom de variable (membre de gauche) ;
association de ce nom de variable avec l’objet contenant la valeur.

si un objet modifiable est affecté à plusieurs variables, tout changement de l’objet via
une variable sera visible sur tous les autres :

23
6.
A Affectation

Pour modifier séparément deux variables ayant le même contenu, il suffit d’affecter
l’autre variable par une copie distincte de l’objet :
1. En créant simplement une tranche complète des séquences
2. En utilisant le module copy dans les cas les plus généraux (autres conteneurs).

24
6.
A Affectation

Si on veut que chaque élément et l’attribut de l’objet soient copiés séparément et de


façon récursive, on emploie la fonction copy.deepcopy() :

25
Correction Ex.1

Vous aimerez peut-être aussi