Vous êtes sur la page 1sur 33

CHAPITRE 2

Listes et Chaines
de caractères

Préparer par : SLIMANI Nawel

A.A: 2021-2022
slimani Nawel - Python 1
1 Les listes Définition

• Une liste est une structure de données qui contient une série de
valeurs.
• Python autorise la construction de liste contenant des valeurs de
types différents (par exemple entier et chaîne de caractères).
• Une liste est déclarée par une série de valeurs séparées par des
virgules, et le tout encadré par des crochets.

slimani Nawel - Python 2


1 Les listes Indexage

• Un des gros avantages d’une liste est que vous pouvez appeler
ses éléments par leur position.
• Ce numéro est appelé indice (ou index) de la liste.
Attention! les indices d’une liste de n éléments commence à 0 et
se termine à n-1.

slimani Nawel - Python 3


1 Les listes Opérations sur les listes

• Si on appelle l’élément d’indice 4 de notre liste, Python


renverra un message d’erreur : IndexError

slimani Nawel - Python 4


1 Les listes Opérations sur les listes

• Tout comme les chaînes de caractères, les listes supportent


l’opérateur + de concaténation, ainsi que l’opérateur * pour la
duplication :

• On peut aussi utiliser la méthode .append() pour ajouter un seul


élément à la fin d’une liste.

slimani Nawel - Python 5


1 Les listes Indexage négatif

• La liste peut également être indexée avec des nombres négatifs


selon le modèle suivant :
liste : ['girafe ', 'tigre ', 'singe ', 'souris ']
Indice positif: 0 1 2 3
Indice négatif: -4 -3 -2 -1
• Les indices négatifs reviennent à compter à partir de la fin.
• Le dernier élément de la liste à pour indice négatif -1,
L’avant-dernier élément a lui l’indice -2, l’avant-avant dernier
l’indice -3, etc.

slimani Nawel - Python 6


1 Les listes Tranchage

• Pour sélectionner une partie d’une liste en utilisant un indiçage


construit sur le modèle [m:n].
• On dit alors qu’on récupère une tranche de la liste de l’élément
d’indice m à l’élément d’indice n-1.

slimani Nawel - Python 7


1 Les listes Tranchage

• Lorsqu’aucun indice n’est indiqué à gauche ou à droite du


symbole deux-points [:] , Python prend par défaut tous les
éléments de la liste.
print(animaux
['girafe ', 'tigre ', 'singe ', 'souris ']
[:])
• On peut aussi préciser le pas en ajoutant un symbole
deux-points supplémentaire et en indiquant le pas par un
entier.

slimani Nawel - Python 8


1 Les listes Fonction len()

• La fonction len() permet de connaître la longueur d’une liste; c’est-


à-dire le nombre d’éléments que contient la liste.

slimani Nawel - Python 9


1 Les listes Fonction del()

• La fonction del() permet de supprimer d’une liste un élément


quelconque (a partir de son index).
Exemple:

slimani Nawel - Python 10


1 Les listes range() et list()

• La fonction range() génère des nombres entiers compris dans


un intervalle.
• Lorsqu’elle est utilisée en combinaison avec la fonction list(),
on obtient une liste d’entiers.
print(list( range [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
(10)))
run

• La commande list(range(10)) a généré une liste contenant tous les


nombres entiers de 0 inclus à 10 exclu.
• La fonction range() fonctionne sur le modèle range(début, fin, pas).
• Les arguments début et pas sont optionnel.
print(list( range
(0,10,2))) [0, 2, 4, 6, 8]
print(list ( range run
[2, 0, -2, -4, -6, -8]
(2, -10, -2)))
slimani Nawel - Python 11
1 Les listes range() et list()

• La fonction range() peut aussi être utilisée avec la boucle for


pour répéter du code un certain nombre de fois..

slimani Nawel - Python 12


1 Les listes Listes des listes

• On peut de construire des listes de listes.


animal1=['girafe',10]
animal2=['tigre',4]
animal3=['Chien',20] run [['girafe', 10], ['tigre', 4], ['Chien', 20]]
animaux=[animal1,animal2,ani
mal3]
print(animaux)

• Pour accéder à un élément de la liste, on utilise l’indiçage


habituel:
print(animau run ['tigre', 4]
• Pourx[1])
accéder à un élément de la sous-liste, on utilise un
double indiçage :
print(animaux[1][1])
run 4

slimani Nawel - Python 13


1 Les listes Listes des listes

• Il existe quelques fonctions et méthodes utiles pour


les listes.
– max (list) : Renvoie l'élément de liste avec la valeur
maximale
– min (list) : Renvoie l'élément de liste avec la valeur
minimale
– list.count (obj) : Retourne le nombre de fois qu'un élément
apparaît dans une liste
– list.remove (obj) : Supprime un objet d'une liste
– list.reverse () : Inverse les objets d'une liste

slimani Nawel - Python 14


1 Les listes Exercices

Exercice 1: Jours de la semaine


• Constituez une liste semaine contenant les 7 jours de la
semaine.
– À partir de cette liste, comment récupérez-vous seulement
les 5 premiers jours de la semaine d’une part, et ceux du
week-end d’autre part ? Utilisez pour cela l’indiçage.
– Cherchez un autre moyen pour arriver au même résultat
(en utilisant un autre indiçage).
– Trouvez deux manières pour accéder au dernier jour de la
semaine.
– Inversez les jours de la semaine en une commande.

slimani Nawel - Python 15


1 Les listes Exercices

Exercice 2: Saisons
• Créez 4 listes hiver, printemps, été et automne contenant les
mois correspondants à ces saisons.
• Créez ensuite une liste saisons contenant les listes hiver,
printemps, été et automne. Prévoyez ce que renvoient les
instructions suivantes, puis vérifiez-le dans l’interpréteur :
– saisons[2]
– saisons[1][0]
– saisons[1:2]
– saisons[:][1]. Comment expliquez-vous ce dernier résultat ?

slimani Nawel - Python 16


1 Les listes Exercices

Exercice 3: Table de multiplication par 9


• Affichez la table de multiplication par 9 en une seule
commande avec les instructions range() et list().
Exercice 4: nombres pairs
Calculer le nombres des entiers pairs dans l’intervalle [2, 10000]
en une seule commande.
print(len(list(range(2,10000,2))
Solution ici
))

slimani Nawel - Python 17


Les chaines de
2 Type string
caractères

• Les chaines de caractères sont une structure de données


particulières pour traiter des caractères alphabétiques, des
mots, des phrases, ou des suites de symboles quelconques.
• En Python (comme la plupart des autres langages), le type
string se définit comme le type de ces structures de données.
• Dans un script python, on peut délimiter une telle suite de
caractères, soit par des apostrophes (simple quotes ‘ ’), soit
par des guillemets (double quotes " ").

slimani Nawel - Python 18


Les chaines de
2 Type string
caractères

• Les 3 variables phrase1, phrase2, phrase3 sont donc des


variables de type string.
Remarques:
• Dans phrase 2: on a utilisé des apostrophes pour délimiter
une chaine qui contient des guillemets.
phrase2 = ' "Oui", repondit-il,'
• Dans phrase 3: on a utilisé des guillemets pour délimiter une
chaine dans laquelle il y a des apostrophes.
phrase3 = " j'aime bien"

slimani Nawel - Python 19


Les chaines de
2 Antislash (\)
caractères

• Le caractère spécial ≪ \ ≫ (antislash) permet quelques


subtilités complémentaires :
– La séquence \n dans une chaine provoque un saut a la ligne.

slimani Nawel - Python 20


Les chaines de
2 Antislash (\)
caractères

• La séquence \' permet d’insérer une apostrophe dans une


chaine délimitée par des apostrophes.
• la séquence \" permet d’insérer des guillemets dans une
chaine délimitée elle-même par des guillemets.

slimani Nawel - Python 21


Les chaines de
2 Triple quote (""")
caractères

• Pour insérer plus aisément des caractères spéciaux dans une


chaine ou pour écrire une chaine longue sur plusieurs lignes
sans faire usage de l’antislash, on peut délimiter la chaine a
l’aide de triples guillemets ou de triples apostrophes :

slimani Nawel - Python 22


Les chaines de
2 Accès aux caractères
caractères

• Python considère qu’une chaîne de caractères est un objet de


la catégorie des séquences,
• les caractères d’une chaîne sont toujours disposés dans un
certain ordre.
• Par consequent, chaque caractère de la chaine peut être
désigné par sa place dans la séquence, à l’aide d’un index.
• Pour accéder a un caractère bien déterminé, on utilise le nom
de la variable qui contient la chaine et on lui accole, entre
deux crochets, l’index numérique qui correspond a la position
du caractère dans la chaine.
• La première position dans une chaine a pour index zéro (0)

slimani Nawel - Python 23


Les chaines de
2 Accès aux caractères
caractères

Exemple:

slimani Nawel - Python 24


Les chaines de Les méthodes lower() et
2
caractères upper()

• Les méthodes lower() et upper() renvoient un texte en


minuscule et en majuscule respectivement.

• Pour mettre en majuscule la première lettre seulement, vous


pouvez faire : x [0]. upper () + x [1:]
• ou plus simplement utiliser la méthode capitalize()

slimani Nawel - Python 25


Les chaines de
2 La méthode split()
caractères

• La méthode split() découpe une chaîne de caractères en plusieurs


éléments appelés champs en utilisant comme séparateur n’importe
quelle combinaison « d’espace(s) blanc(s) ».
• Les espaces blancs les plus classiques sont l’espace, la tabulation et
le retour à la ligne.
• Il est possible de modifier le séparateur de champs, par exemple (:)

slimani Nawel - Python 26


Les chaines de
2 La méthode split()
caractères

• Il est également intéressant d’indiquer à split() le nombre de


fois qu’on souhaite découper la chaîne de caractères avec
l’argument maxsplit :

slimani Nawel - Python 27


Les chaines de
2 La méthode find()
caractères

• La méthode find(), permet de recherche une chaîne de


caractères passée en argument.
• Si l’élément recherché est trouvé, alors l’indice du début de l’
élément dans la chaîne de caractères est renvoyé.
• Si l’élément n’est pas trouvé, alors la valeur -1 est renvoyée.
• Si l’élément recherché est trouvé plusieurs fois, seul l’indice
de la première occurrence est renvoyé.

slimani Nawel - Python 28


Les chaines de
2 Autres méthodes
caractères

• la méthode replace() qui substitue une chaîne de caractères


par une autre.
• La méthode count() compte le nombre d’occurrences d’une
chaîne de caractères passée en argument.
• La méthode startswith() vérifie si une chaîne de caractères
commence par une autre chaîne de caractères.
• La méthode endswith() vérifie si une chaîne de caractères
commence par une autre chaîne de caractères.
• La méthode strip() permet de « nettoyer les bords » d’une
chaîne de caractères des espaces blancs.

slimani Nawel - Python 29


Les chaines de
2 Autres méthodes
caractères

slimani Nawel - Python 30


Les chaines de
2 Exercice
caractères

Soit la chaine suivante:


text= ‘Un rectangle de longueur 10.5 cm et de largeur 7.3
cm. Calculer sa superficie ’.
• Extraire la longueur et la largeur du rectangle de ce texte.
• Calculer sa superficie.

slimani Nawel - Python 31


Les chaines de
2 La méthode join()
caractères

• la méthode join() permet de concaténner une liste de chaînes


de caractères en une chaîne de caractères intercalés par un
séparateur qui peut être n’importe quelle chaîne de
caractères.

slimani Nawel - Python 32


Les chaines de
2 La méthode join()
caractères

• La méthode joint() utilisé avec la fonction reversed() permet


d’inverser une chaine de caractère.

• Une autre solution pour inverser une chaine de caractères:

slimani Nawel - Python 33

Vous aimerez peut-être aussi