Courspython Chapitre5 LesStructuresDeDonnées
Courspython Chapitre5 LesStructuresDeDonnées
Courspython Chapitre5 LesStructuresDeDonnées
Programmation Python
De la base aux concepts avancés de Python
Johannès HOUNSINOU
5 janvier 2024
Plan du cours
Itérables séquentiels
Définition
- On peut définir les itérables séquentiels comme des
conteneurs composés d’un nombre fini d’éléments auxquels on
peut accéder par un indice numérique.
- On peut les voir comme un ruban muni d’un curseur qui se
déplace et peut lire les valeurs qui y sont stockées.
Exemple
>>> liste1 = [5, 2.2 ,-5, "a",7] # crée une liste de 5 éléments
>>> villes = ["Cotonou", "Abidjan", "Lagos"] # crée une liste de
3 string
>>> liste2 = [liste1, villes] # crée une liste de 2 listes
>>> liste3 = [ ] # crée une liste vide
Exemple
>>> liste1 = [5, 2,-15, 4,[7,8]]
>>> print(liste1[0]) # affiche 5
>>> print(liste1[2]) # affiche -15
>>> print(liste1[-1][-1]) # affiche 8
>>> print(liste1[-2]) # affiche l’avant dernier élément 4
Exemple
>>> liste1 = [5, 2,-15, 4,7,-8,0,-4]
>>> print(liste1[0 :3])# affiche 5 2 -15
>>> print(liste1[2 :7 :2])# affiche -15 7 0
>>> print(liste1[ :4])# affiche 5 2 -15 4
>>> print(liste1[4 :])# affiche 7 -8 0 - 4
>>> print(liste1[ : :2])# affiche 5 -15 7 0
>>> print(liste1[ : :-2])# affiche -4 -8 4 2
Plusieurs opérations sont possibles sur les listes. Quelques unes sont
décrites dans le tableau ci-dessous.
If et les listes
Exemple :
>>> villes = [’Abidjan’,’Lome’,’Cotonou’,’Conakry’]
>>> for i in villes :
>>> print(i)
Exemple :
>>> villes = [’Abidjan’,’Lome’,’Cotonou’,’Conakry’]
>>> for index, valeur in enumerate(villes) :
>>> print(index, valeur)
Exemple :
>>> villes = [’Abidjan’,’Lome’,’Cotonou’,’Conakry’]
>>> noms = [’Pierre’,’Cossi’,’Alain’,’Houessou’,’Claire’]
>>> for a, b in zip(villes, noms) :
>>> print(b, ’va à ’, a)
>>> liste1 = [ ]
>>> for i in range(10) :
>>> liste1.append(i**2)
Exemple :
>>> liste1 = [ ]
>>> liste2 = [ ]
>>> for i in range(3) :
>>> liste1.append(i)
>>> for j in range(3) :
>>> liste2.append(liste1)
Exemple :
>>> liste1 = [i**2 for i in range(3,10,2)]
>>> liste2= [i for i in range(10) if i%2==0]
>>> liste3= [[i+j for i in range(10) if i%2==0] for j in range(10) if
j%3==0]
Les n-uplets
Les n-uplets
Les n-uplets (tuples en anglais) correspondent aux listes à la
différence qu’ils sont immutables, c’est-à-dire non modifiables. Pour
construire une tuple, il faut :
- soit la déclarer en utilisant des paranthèses ( ) .
- soit utiliser le mot-clé tuple.
Exemple
>>> animaux_tuple_direct = (’girafe’,’tigre’, ’singe’)
Exemple :
>>> texte = "le Bénin est magnifique."
>>> texte.lower() # Tout en miniscule
>>> texte.upper() # Tout en majuscule
>>> texte.title() # Majuscule à chaque mot
>>> texte.capitalize() # Majuscule au début de
phrase.
>>> texte.swapcase() # inverse la casse
Johannès HOUNSINOU Programmation Python
Itérables séquentiels
Chapitre 5 : Les structures de données.
Itérables non séquentiels
Les occurrences
Pour compter le nombre d’apparition (ou occurrence) d’une
sous-chaine dans une chaîne, on utilise la méthode :
str.count(sousChaine)
Rechercher et Remplacer
La méthode str.replace(old, new) permet de remplacer toutes
les occurences de la sous-chaine old par la chaine new.
Exemple
>>> texte = "Bénin est magnifique."
>>> texte.count("nin") # compte les apparition de
"nin"
>>> texte.replace("nin", "linda") # remplacement
Johannès HOUNSINOU Programmation Python
Itérables séquentiels
Chapitre 5 : Les structures de données.
Itérables non séquentiels
Définition
Ce sont toujours des conteneurs, mais à la différence des itérables
séquentiels, leurs éléments ne sont pas ordonnés / contiguës.
Les dictionnaires
On accède aux valeurs d’un dictionnaire par des clés. (qu’on peut
voir comme des indices textuels !)
Exemple
Chaque clef doit être unique pour un dictionnaire afin d’éviter les
problèmes de correspondance. En revanche, la même valeur peut
être utilisée plusieurs fois.