Séquences: Les Listes & Les Chaines de Caractères
Séquences: Les Listes & Les Chaines de Caractères
Séquences: Les Listes & Les Chaines de Caractères
Partie I : Manip
Une séquence est une liste finie d'éléments indexes de 0 jusqu'au dernier élément, ça regroupe les listes,
les tuples et les chaines de caractères.
RAPPEL:
range(p,n,pas) représente la suite des entiers de p inclus à n exclu, avec un pas. On peut l'utiliser dans
une boude ou bien encore le convertir en liste.
Manipuler les listes
Les listes en python sont une variable dans laquelle on peut mettre plusieurs variables. Soit1st une
liste quelconque, soit x un élément :
REMARQUE : En tapant help(list) dans l'interpréteur python, on obtient toutes ces fonctions ainsi que
beaucoup d'autres.
1/8
TP3 : Les séquences : Les listes & les chaines de caractères
Maliste
len(maliste)
'z' in maliste
Maliste[3]=1024
'z' in maliste
Maliste
maliste.append(33)
maliste.append("hello")
Maliste
maliste.remove(33)
33 in maliste
maliste
maliste.pop()
maliste.pop(l)
Maliste
maliste.index('a')
2/8
TP3 : Les séquences : Les listes & les chaines de caractères
maliste.index(lll)
maliste.sort()
maliste.remove('a')
maliste.remove('b')
Maliste
maliste.sort()
Maliste
uneliste.sort()
uneliste
MAJ= ('A', 'B', 'C')
mini= ('a', 'b', 'c')
for M, m in zip(MAJ, mini):
print('minus de ',M,' est ',m)
3/8
TP3 : Les séquences : Les listes & les chaines de caractères
Essayez les instructions suivantes :
maliste
maliste[0:3]
maliste[0:4:2]
maliste[0:3]
maliste[:]
maliste[::2]
maliste[::-1]1
maliste[0]
maliste[l]
maliste[4]
maliste[5]
maListe[-1]
maliste[-2]
maliste[-5]
maliste[-6]
maliste[:3]
maliste[2:]
maliste[-1]="b"
maliste
4/8
TP3 : Les séquences : Les listes & les chaines de caractères
b=a
b == a
b is a
c = 14000
c == a
c is a
Cela ne pose pas de problème avec les types int, float, bool et str car les valeurs elles-mêmes ne sont
pas modifiables3 (pour changer la valeur associée à la variable ii faut réaliser une nouvelle affectation).
De la même façon, l'affectation d'une variable à une autre variable d'une valeur de type list, ne créé
pas une nouvelle liste qui soit une copie de la première, mais met simplement en place un nouveau
nom qui référence la même liste en mémoire. Or il est possible de modifier directement cette valeur
liste4en utilisant les opératoires et méthodes vues précédemment. Si deux variables référencent la
même liste, les modifications réalisées en utilisant une variable seront visibles aussi avec l'autre
variable.
Pour créer une copie d'une liste en étant sur que les modifications ne toucheront pas l'originale, il faut
utiliser un des moyens présentes ci-après. Tapez dans l'interpréteur python :
liste2 = maliste
liste2 is maliste
liste2[1]="nouveau"
liste2
maUste
#1ère méthode de copie : grâce à un
transtypage.
liste3 = list(maUste)
liste3 is maliste
liste3[4]="surprise"
liste3
maliste
3 En Python endit que ces types int, float, bool, str sont "immutables".
• En Python on dit que le type list est "mutable".
5/8
TP3 : Les séquences : Les listes & les chaines de caractères
liste4 is maListe
liste4[0]=8
liste4
maliste
La troisième méthode a l'avantage de faire une copie en profondeur sur tous les éléments de la liste, ce
qui permet de traiter le cas des listes imbriquées...
Liste de listes
On peut en effet mettre des listes dans des listes, par exemple pour créer des tableaux à 2 dimensions (ou
plus) :
var[0]
var[l]
var[0][0]
var[0][l]
var[0][2]
REMARQUE : Tout comme pour les chaînes de caractères, on peut concaténer deux listes avec
l'opérateur + et répliquer plusieurs fois le contenu d'une liste avec l'opérateur de multiplication* et
un entier.
6/10
TP3 : Les séquences : Les listes & les chaines de caractères
len(s1)
s1[:3]
s1[2]="z"
"o" in s1
print("vive\n l'inforrna\ntique")
"ara"=="zygomatique"
"ara"<"zygornatique"
"ara">"zygornatique"
"abscisse"<"ordonnée"
"abscisse"=="ordonnée"
"abscisse">"ordonnée"
7/10
TP3 : Les séquences : Les listes & les chaines de caractères
De plus, on dispose des méthodes booléennes suivantes, dites «de test de contenu » :
8/10
TP3 : Les séquences : Les listes & les chaines de caractères
Partie II : Exercices
Exercice 1
Soit la liste suivante :
Nb_jours=[31,28,31,30,31,30,31,31,30,31,30,31]
Mois=[‘janvier’,’Février’,’Mars’,’Avril’,’Mai’,’Juin’,’juillet’,’Aout’,’Septembre’,’Octobre’,’Novembre’,’Décember’]
3. Créer une liste T3 contenant tous les éléments des deux listes en les altérant, càd chaque nom
de mois soit suivi du nombre de jours correspondant :
T3=["Janvier " ,31 ,"Février" ,28, ,"Décembre" , 31]
Exercice 2
Soit la liste suivante :
Semaine=["lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"]
1. Ecrire une boucle for pour afficher à l’écran les éléments de la liste semaine, sur des lignes différentes :
• Avec la première méthode (parcours des indices),
• Avec la deuxième méthode (parcours directs de la liste)
2. Définir les trois listes
A=["lundi","mardi"],
B=["mercredi","jeudi"]
C=["vendredi","samedi","dimanche"].
En utilisant A, B et C, construire
• La liste des sept jours de la semaine à laquelle on a enlevé mercredi.
• La liste des jours ouvrables de la semaine. Trier cette dernière liste en ordre lexicographique décroissant.
Exercice 3
Ecrire un programme qui permet de saisir une liste d’entiers L et d’afficher la somme des éléments
ainsi que la valeur max et la valeur min
Exercice 4
1. Ecrire un script python permettant de remplir une liste D par N entiers saisis au clavier
(6<=N<=50) et créer une nouvelle liste R contenant les sommes cumulées des éléments de D :
• Exemple pour D= [7,2,4,10,6,0]--> R=[7,9,13,23,29,29]
2. On définit un nombre réel n de type float.
Ecrire un script python qui renvoie la liste [d1,d2, ;………..dn] des n premières décimales de x
• Exemple pour x= 3,1415962 on doit trouver la liste [1,4,1,5,9,6,2 ,]
9/10
TP3 : Les séquences : Les listes & les chaines de caractères
Exercice 6
Ecrire un programme qui permet de saisir les deux matrices suivantes :
Exercice 7
Soit la chaine ch « un bon étudient est celui qui révise chaque jour son cours »
• Définir en python la chaine ch
• Définir la chaine ch1qui contiendra le mot « bon » à partir de la chaine ch
• Définir la chaine ch2 qui contiendra le mot « un bon bonbon » à partir des chaines ch et ch1
Exercice 8
Ecrire un programme python qui permet de :
• Faire saisir une phrase avec input ()
• Compter et afficher le nombre de voyelles dans cette phrase
• Compter et afficher le nombre de mots de cette phrase.
Exercice 9
Ecrire un programme qui lit une ligne de texte, et qui comptabilise le nombre de lettres qu’elle contient
et qui donne le pourcentage de chaque lettre.
Exercice 10
Définir deux ensembles (sets) : X={a,b,c,d} et Y={s,b,d}, puis affichez les résultats suivants :
• Les ensembles initiaux ;
• Le test d’appartenance de l’élément ‘c’ à X ;
• Le test d’appartenance de l’élément ‘a’ à Y ;
• Les ensembles X-Y et Y-X ;
• L’ensemble Z=X union Y ;
• L’ensemble W=X inter Y
10/10