Vous êtes sur la page 1sur 39

Collections

Modules
Expression régulière

Collections, Expressions régulières, Modules

Enseignant:
M. Austin Wao
Ing./Msc/Doctorant/ENSPY

Campus d'EYANG - Mars2021 - wkaustin1@gmail.com

Austin Wao
Collections
Modules
Expression régulière

Structure

Structure :
Collections
Dictionnaires
Tuples
Expressions régulières
Modules

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
Les dictionnaires sont des collections non ordonnées
d'objets
c'est-à-dire qu'il n'y a pas de notion d'ordre (i.e. pas
d'indice) On accède aux valeurs d'un dictionnaire par des
clés
Ceci semble un peu confus ? Regardez l'exemple suivant :

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
Les dictionnaires sont des collections non ordonnées
d'objets
c'est-à-dire qu'il n'y a pas de notion d'ordre (i.e. pas
d'indice) On accède aux valeurs d'un dictionnaire par des
clés
Ceci semble un peu confus ? Regardez l'exemple suivant :
>>> dict1 = {}
>>> dict1 ["nom"] = " girafe "
>>> dict1 ["taille"] = 5.0
>>> dict1 [" poids "] = 1100
>>> print(dict1)
{' nom ' : 'girafe', ' poids ' : 1100, 'taille' : 5.0}
Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
En premier, on dénit un dictionnaire vide avec les
accolades {} (tout comme on peut le faire pour les listes
avec []).

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
En premier, on dénit un dictionnaire vide avec les
accolades {} (tout comme on peut le faire pour les listes
avec []).
Ensuite, on remplit le dictionnaire avec diérentes clés
("nom", "taille", "poids") auxquelles on aecte des
valeurs

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
En premier, on dénit un dictionnaire vide avec les
accolades {} (tout comme on peut le faire pour les listes
avec []).
Ensuite, on remplit le dictionnaire avec diérentes clés
("nom", "taille", "poids") auxquelles on aecte des
valeurs
Vous pouvez mettre autant de clés que vous voulez dans
un dictionnaire (tout comme vous pouvez ajouter autant
d'éléments que vous voulez dans une liste). ("girafe", 5.0,
1100)

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
On peut aussi initialiser toutes les clés et les valeurs d'un
dictionnaire en une seule opération
>>> dict2 = {" nom " :" singe ", " poids " :70 , " taille
" :1.75}

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
On peut aussi initialiser toutes les clés et les valeurs d'un
dictionnaire en une seule opération
>>> dict2 = {" nom " :" singe ", " poids " :70 , " taille
" :1.75}
Mais rien ne nous empêche d'ajouter une clé et une
valeur supplémentaire :
>>> dict2 ["age"] = 15

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
On peut aussi initialiser toutes les clés et les valeurs d'un
dictionnaire en une seule opération
>>> dict2 = {" nom " :" singe ", " poids " :70 , " taille
" :1.75}
Mais rien ne nous empêche d'ajouter une clé et une
valeur supplémentaire :
>>> dict2 ["age"] = 15
Pour récupérer la valeur associée à une clé donnée, il
sut d'utiliser la syntaxe suivante dictionnaire["cle"]. Par
exemple :

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
On peut aussi initialiser toutes les clés et les valeurs d'un
dictionnaire en une seule opération
>>> dict2 = {" nom " :" singe ", " poids " :70 , " taille
" :1.75}
Mais rien ne nous empêche d'ajouter une clé et une
valeur supplémentaire :
>>> dict2 ["age"] = 15
Pour récupérer la valeur associée à une clé donnée, il
sut d'utiliser la syntaxe suivante dictionnaire["cle"]. Par
exemple :
>>> print(dict2 ["poids"])
Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
On peut aussi initialiser toutes les clés et les valeurs d'un
dictionnaire en une seule opération
>>> dict2 = {" nom " :" singe ", " poids " :70 , " taille
" :1.75}
Mais rien ne nous empêche d'ajouter une clé et une
valeur supplémentaire :
>>> dict2 ["age"] = 15
Pour récupérer la valeur associée à une clé donnée, il
sut d'utiliser la syntaxe suivante dictionnaire["cle"]. Par
exemple :
>>> print(dict2 ["poids"])
70 Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Dénition
On peut aussi initialiser toutes les clés et les valeurs d'un
dictionnaire en une seule opération
>>> dict2 = {" nom " :" singe ", " poids " :70 , " taille
" :1.75}
Mais rien ne nous empêche d'ajouter une clé et une
valeur supplémentaire :
>>> dict2 ["age"] = 15
Pour récupérer la valeur associée à une clé donnée, il
sut d'utiliser la syntaxe suivante dictionnaire["cle"]. Par
exemple :
>>> print(dict2 ["poids"])
70 Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Itération sur les clés pour obtenir les valeurs


Il est possible d'obtenir toutes les valeurs d'un
dictionnaire à partir de ses clés
>>> dictio2 = {'nom ' :' singe ', 'poids ' :70 , 'taille
' :1.75}
>>> for key in dictio2 :
....................print (key , dictio2 [ key ])

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Itération sur les clés pour obtenir les valeurs


Il est possible d'obtenir toutes les valeurs d'un
dictionnaire à partir de ses clés
>>> dictio2 = {'nom ' :' singe ', 'poids ' :70 , 'taille
' :1.75}
>>> for key in dictio2 :
....................print (key , dictio2 [ key ])
nom singe
poids 70
taille 1.75

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Méthodes .keys() et .values()


Les méthodes .keys() et .values() renvoient les clés et
les valeurs d'un dictionnaire :
>>> print(dictio2.keys())

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Méthodes .keys() et .values()


Les méthodes .keys() et .values() renvoient les clés et
les valeurs d'un dictionnaire :
>>> print(dictio2.keys())
dict_keys(['nom ', 'taille ', 'poids '])
>>> print(dictio2.values())

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Dictionnaires

Méthodes .keys() et .values()


Les méthodes .keys() et .values() renvoient les clés et
les valeurs d'un dictionnaire :
>>> print(dictio2.keys())
dict_keys(['nom ', 'taille ', 'poids '])
>>> print(dictio2.values())
dict_values(['singe',1.75, 70])

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Tuples

Dénition
Les tuples (n-uplets en français) correspondent aux
listes à la diérence qu'ils sont non modiable
On a vu dans que les listes pouvaient être modiées par
références,
Les tuples utilisent les parenthèses au lieu des crochets
Exemple :
>>> x = (1, 2, 3)
>>> print(x)

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Tuples

Dénition
Les tuples (n-uplets en français) correspondent aux
listes à la diérence qu'ils sont non modiable
On a vu dans que les listes pouvaient être modiées par
références,
Les tuples utilisent les parenthèses au lieu des crochets
Exemple :
>>> x = (1, 2, 3)
>>> print(x)
(1, 2, 3)
>>> print(x[2])

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Tuples

Dénition
Les tuples (n-uplets en français) correspondent aux
listes à la diérence qu'ils sont non modiable
On a vu dans que les listes pouvaient être modiées par
références,
Les tuples utilisent les parenthèses au lieu des crochets
Exemple :
>>> x = (1, 2, 3)
>>> print(x)
(1, 2, 3)
>>> print(x[2])
3
>>> print(x[0 :2])
Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Tuples

Dénition
Les tuples (n-uplets en français) correspondent aux
listes à la diérence qu'ils sont non modiable
On a vu dans que les listes pouvaient être modiées par
références,
Les tuples utilisent les parenthèses au lieu des crochets
Exemple :
>>> x = (1, 2, 3)
>>> print(x)
(1, 2, 3)
>>> print(x[2])
3
>>> print(x[0 :2])
(1, 2) Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Tuples

Remarque
Pour utiliser un tuple d'un seul élément, vous devez
utiliser une syntaxe avec une virgule (element,), ceci
pour éviter une ambiguïté avec une simple expression
Exemple :
>>> x = (1, 2, 3)
>>> x + (5 ,)
>>> print(x)

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

Tuples

Remarque
Pour utiliser un tuple d'un seul élément, vous devez
utiliser une syntaxe avec une virgule (element,), ceci
pour éviter une ambiguïté avec une simple expression
Exemple :
>>> x = (1, 2, 3)
>>> x + (5 ,)
>>> print(x)
(1, 2, 3, 5)

Austin Wao
Collections Dictionnaires
Modules Tuples
Expression régulière

TD/TP

Enoncé
Créez une fonction compte_mots_2_lettres() qui prend
comme argument une séquence sous la forme d'une
chaîne de caractères et qui renvoie tous les mots de 2
lettres qui existent dans la séquence sous la forme d'un
dictionnaire. Par exemple pour la séquence
ACCTAGCCCTA, le dictionnaire renvoyé sera : {'AC' : 1,
'CC' : 3, 'CT' : 2, 'TA' : 2, 'AG' : 1, 'GC' : 1}

Austin Wao
Collections
Modules
Expression régulière

Modules

Dénition
Les modules sont des programmes Python qui
contiennent des fonctions que l'on est amené à réutiliser
souvent (on les appelle aussi bibliothèques ou librairies).

Austin Wao
Collections
Modules
Expression régulière

Modules

Dénition
Les modules sont des programmes Python qui
contiennent des fonctions que l'on est amené à réutiliser
souvent (on les appelle aussi bibliothèques ou librairies).
Les développeurs de Python ont mis au point de
nombreux modules qui eectuent une quantité
phénoménale de tâches

Austin Wao
Collections
Modules
Expression régulière

Modules

Dénition
Les modules sont des programmes Python qui
contiennent des fonctions que l'on est amené à réutiliser
souvent (on les appelle aussi bibliothèques ou librairies).
Les développeurs de Python ont mis au point de
nombreux modules qui eectuent une quantité
phénoménale de tâches
Pour cette raison, prenez toujours le réexe de vérier si
une partie du code que vous souhaitez écrire n'existe pas
déjà sous forme de module.

Austin Wao
Collections
Modules
Expression régulière

Modules

Importation de modules
>>> import random
>>> random.randint(0, 10)
5`
regardons de près cet exemple :
Ligne 1, l'instruction import donne accès à toutes les
fonctions du module random
Ensuite, ligne 2, nous utilisons la fonction randint() du
module random. Cette fonction renvoie un nombre entier
tiré aléatoirement entre 0 inclus et 10 inclus. .

Austin Wao
Collections
Modules
Expression régulière

Modules

Importation de modules
>>> import random
>>> random.randint(0, 10)
5`
regardons de près cet exemple :
Ligne 1, l'instruction import donne accès à toutes les
fonctions du module random
Ensuite, ligne 2, nous utilisons la fonction randint() du
module random. Cette fonction renvoie un nombre entier
tiré aléatoirement entre 0 inclus et 10 inclus. .
Exemple :
>>> import math ; print(math.cos(math.pi/2))
6.123233995736766 e -17
Austin Wao
Collections
Modules
Expression régulière

Modules

Importation de modules
l'utilisation de la syntaxe import module permet
d'importer tout une série de fonctions organisées par
thèmes . Par exemple, les fonctions gérant les nombres
aléatoires avec random et les fonctions mathématiques
avec math

Austin Wao
Collections
Modules
Expression régulière

Modules

Importation de modules
l'utilisation de la syntaxe import module permet
d'importer tout une série de fonctions organisées par
thèmes . Par exemple, les fonctions gérant les nombres
aléatoires avec random et les fonctions mathématiques
avec math
Il est également possible de dénir un alias (un nom plus
court) pour un module
>>> import random as rand
>>> print(rand.randint(1, 10))
7

Austin Wao
Collections
Modules
Expression régulière

Modules

Quelques modules courants


Quelques modules régulièrement utilisés en Python :
math : fonctions et constantes mathématiques de base
(sin, cos, exp, pi. . . )
random : génération de nombres aléatoires
time : accès à l'heure de l'ordinateur et aux fonctions
gérant le temps
urllib : récupération de données sur internet depuis
Python
Tkinter : interface python avec Tk. Création d'objets
graphiques
re : gestion des expressions régulières.
Austin Wao
Collections
Modules
Expression régulière

Modules(TD/TP)

Exercice 1
Achez sur la même ligne les nombres de 10 à 20 (inclus)
ainsi que leur racine carrée avec 3 décimales. Utilisez pour cela
le module math avec la fonction sqrt(). Exemple :
10 3.162
11 3.317
12 3.464
13 3.606

Exercice 2
Générez une séquence aléatoire de 6 chires, ceux-ci étant des
entiers tirés entre 1 et 4. Utilisez le module random avec la
fonction randint().
Austin Wao
Collections
Modules
Expression régulière

Expression régulière

Dénition et syntaxe
Une expression régulière est une suite de caractères qui a
pour but de décrire un fragment de texte
Cette suite de caractères est encore appelée motif (en
anglais pattern), motif qui est constitué de deux types de
caractères :
Les caractères dits normaux
Les métacaractères ayant une signication particulière
par exemple le caractère signie début de ligne et non
pas le caractère  chapeau  littéral.

Austin Wao
Collections
Modules
Expression régulière

Expression régulière

Dénition et syntaxe
 : Début de chaîne de caractères ou de ligne
$ Fin de chaîne de caractères ou de ligne
[ABC ] : Le caractère A ou B ou C (un seul caractère).
Exemple :
la regex T[ABC]G est retrouvée dans TAG, TBG ou
TCG, mais pas dans TG.
[A − Z ] N'importe quelle lettre majuscule Exemple :
la regex C[A-Z]T est retrouvée dans CAT, CBT, CCT. .
[a − z] N'importe quelle lettre minuscule

Austin Wao
Collections
Modules
Expression régulière

Expression régulière

Dénition et syntaxe
[0 − 9] : N'importe quel chire.
[A − Za − z 0 − 9] : N'importe quel caractère
alphanumérique
* : 0 à n fois le caractère précédent ou l'expression entre
parenthèses précédente Exemple :
la regex A(CG)*T est retrouvée dans AT, ACGT,
ACGCGT. . .
+ : 1 à n fois le caractère précédent ou l'expression entre
parenthèses précédente
la regex A(CG)+T est retrouvée dans ACGT, ACGCGT.
. . mais pas dans AT.

Austin Wao
Collections
Modules
Expression régulière

Expression régulière

Dénition et syntaxe
? : 0 à 1 fois le caractère précédent ou l'expression entre
parenthèses précédente Exemple :
la regex A(CG) ?T est retrouvée dans AT ou ACGT.
{n} : n fois le caractère précédent ou l'expression entre
parenthèses précédente.
la regex A(CG){2}T est retrouvée dans ACGCGT mais
pas dans ACGT, ACGCGCGT ou ACGCG
{n,m} : n à m fois le caractère précédent ou l'expression
entre parenthèses précédente
la regex A(C){2,4}T est retrouvée dans ACCT, ACCCT
et ACCCCT mais pas dans ACT, ACCCCCT ou ACCC...

Austin Wao
Collections
Modules
Expression régulière

Expression régulière

Dénition et syntaxe
{n,} : Au moins n fois le caractère précédent ou
l'expression entre parenthèses précédente Exemple :
la regex A(C){2,}T est retrouvée dans ACCT, ACCCT et
ACCCCT mais pas à ACT ou ACCC
{,m} : Au plus m fois le caractère précédent ou
l'expression entre parenthèses précédente..
la regex A(C){,2}T est retrouvée dans AT, ACT et
ACCT mais pas dans ACCCT ou ACC.
(CG|TT) Les chaînes de caractères CG ou TT
la regex A(CG|TT)C est retrouvée dans ACGC ou ATTC

Austin Wao

Vous aimerez peut-être aussi