You are on page 1of 6

Université de Monastir

Faculté des Sciences de Monastir


Département des Sciences de l’Informatique
Travaux Pratiques N◦4
Module : Programmation Python Classe : LSI1
Enseignante : Soumaya Gaâliche/Omelkhir Ajmi

1. Les listes en Python


 Une liste est une collection ordonnée et modifiable d’éléments de même type ou de
types différents.
 Les éléments sont séparés par des virgules, et entourés de crochets.
 Une liste peut contenir des éléments de type liste.
 Comme les indices des chaines, les indices des listes commencent à 0, et les listes
peuvent être découpées, concaténées, et ainsi de suite.
 Créer et afficher des listes
>>> L1 =[ 12 , 4 , 77 , 8]
>>> L1
………………………………………………………………………………………………
>>> L2 = [ [ 9 , 33 , 100 , 82 ] , [" Salut" , 15 , " Bonjour" , 12.33 ] ]
>>> L2
………………………………………………………………………………………………
>>> L3 =[ 12 , 10.3 , "BONJOUR" , 8 ]
>>> L3
……………………………………………………………………………………………
>>> NL =list ()# Création d’une liste vide à l’aide de la fonction list
>>> type (NL)
………………………………………………………………………………………………
>>> L=[] # Création d’une liste vide
>>> print ( type (L ) )
………………………………………………………………………………………………
>>> L1 = [ 5 , 6 , 3 , 2 ]
>>> L2 = [ 10 , 5.2 , " Salut mes étudiants" , 8 ]
>>> L3 = [ L1 , L2 ]
>>> L4 = [ L3 , [ 5 , 3 , 2 ] ]
>>> L5 =L1 + L2
>>> L6 = [" FSM" , ] ∗ 6
>>> L7 = [ x∗∗2 for x i n [ 1 , 2 , 3 , 4 ] ]
>>> L8 = [ x/2 for x i n [ 1 , 2 , 3 , 4 ] ]
>>>L9=list(range(12))
>>> print ( type ( L1 ) )
………………………………………………………………………………………………
>>> print ( L1 )
………………………………………………………………………………………………
>>> print ( L2 )
………………………………………………………………………………………………
>>> print ( L3 )
………………………………………………………………………………………………
>>> print (L4 )
………………………………………………………………………………………………
>>> print ( L5 )
………………………………………………………………………………………………

1
>>> print ( L6 )
………………………………………………………………………………………………
>>> print ( L7 )
………………………………………………………………………………………………
>>> print ( L8 )
……………………………………………………………………………………………..
>>>print(L9)
……………………………………………………………………………………………..

 Accès aux éléments d’une liste


>>> L1 = [ 5 , 6 , 3 , 2 ]
>>> L2 = [ 10 , 5.2 , " Salut mes étudiants" , 8 , 12]
>>> L3 = [ L1 , L2 ]
>>> L4 = [ L3 , [ 50 , 30 , 20 ] ]
>>> L5 =[ 1 , 2 , 3 , 4]
>>> print ( L1 [ 0 ] )
………………………………………………………………………………………………
>>> print ( L2[ −1] )
………………………………………………………………………………………………
>>> #slicing : tranche
>>> print ( L2 [ 1 : 3 ] )
………………………………………………………………………………………………
>> print ( L2 [ 1 : ] )
………………………………………………………………………………………………
>>> print ( L2 [ : 2 ] )
………………………………………………………………………………………………
>>> print ( L2 [ 0 : 3 : 2 ] )
……………………………………………………………………………………………
>>> print ( L2 [ : : 2 ] )
………………………………………………………………………………………………
>>> print ( L2 [ : : − 1 ] )
………………………………………………………………………………………………
>>> print ( L2 [ : : − 2 ] )
……………………………………………………………………………………………….
>>> print ( L5 )
………………………………………………………………………………………………
>>> L5=L5 [ : : −1 ]
………………………………………………………………………………………………
>>> print ( L5 )
………………………………………………………………………………………………

 Opérations sur les listes


>>> L1 = [ 5 , 6 , 3 , 2 ]
>>> L2 = [ 10 , 5.2 , " Salut mes étudiants" , 8 , 12]

2
>>> L3 = [ L1 , L2 ]
>>> L5=L1+L2
>>> print ( L1 )
………………………………………………………………………………………………
>>> print ( len ( L1 )
………………………………………………………………………………………………
>>> print ( len ( L3 )
………………………………………………………………………………………………
>>> print ( len ( L5 )
………………………………………………………………………………………………
>>> L1 . append ( 100 )
>>> print ( L1 )
……………………………………………………………………………………………….
>>> L1 . insert ( 2 , 200 )
>>>print ( L1 )
………………………………………………………………………………………………
>>> L1 . remove ( 6 )
>>> print ( L1 )
………………………………………………………………………………………………
>>> nb=L1 . pop ( 2 )
>>> print ( L1 )
……………………………………………………………………………………………….
>>> print ( nb )
………………………………………………………………………………………………
>>> L1 =[ 50 ,60 , 30 ,50 , 20]
>>> L2 =[100 ,500 ,800 ,200]
>>> L3 =[ 4 , 55 , 7]
>>> L3 . extend ( L1 )
>>> print ( L3 )
………………………………………………………………………………………………
>>> L1 . reverse ( )
>>> print ( L1 )
………………………………………………………………………………………………
>>> print ( L1 . count ( 50 ) )
………………………………………………………………………………………………
>>> L1 . sort ( )
>>> print ( L1 )
………………………………………………………………………………………………
>>> L1 . sort ( reverse=True )
>>> print ( L1 )
………………………………………………………………………………………………
>>> print ( L2 . index ( 800 ) )
………………………………………………………………………………………………
>>> print ( L1 )
………………………………………………………………………………………………
>>> L4=L1 . copy ( )
>>> print ( L4 )
………………………………………………………………………………………………
>>> L4 . clear ( )

3
>>> print ( L4 )
………………………………………………………………………………………………..

2. Les tuples :

Un tuple ( ou n-uplet) est une collection ordonnée et non modifiable d’éléments


éventuellement hétérogènes, les éléments sont séparés par des virgules, et entourés de
parenthèses. L’indexage des tuples s’utilise comme celui des listes.

# définition d'un tuple


>>> t = ("a", "b", "LSI1", "z", "example")
>>> t
……………………………………………………………………………………………..
>>> t[0]
………………………………………………………………………………………………
>>> t[-1]
………………………………………………………………………………………………
>>> t[1:3]
………………………………………………………………………………………………
>>>u=t,(1,2,3,4,5)
>>> u
………………………………………………………………………………………………

Un problème particulier (tuple 0 ou 1 élément) :


 Les tuples vides construits avec des parenthèses vides.
 Un tuple avec un élément est construit en faisant suivre une valeur d’une virgule.

>>>Tvide=() #tuple vide


>>> Tvide
………………………………………………………………………………………………..
>>>T='bonjour',
>>> len(Tvide)
………………………………………………………………………………………………
>>> len(T)
………………………………………………………………………………………………
>>> T
…………………………………………………………………………………………….

Les tuples n'ont pas de méthodes pour ajouter, modifier ou supprimer ses éléments.
>>> t
………………………………………………………………………………………………
>>> t.append("new")
……………………………………………………………………………………………
>>> t.remove("z")

4
……………………………………………………………………………………………
>>> t.index("example")
………………………………………………………………………………………………
>>> "z" in t
………………………………………………………………………………………………

Remarque :
- Les tuples n'ont pas de méthodes append ou extend pour ajouter d'élément.
- Les tuples n'ont pas de méthodes remove ou pop pour enlever d'éléments.
- Les tuples permet d’utiliser in pour vérifier l'existence d'un élément.
Mais à quoi servent donc les tuples ?
- Les tuples sont plus rapides que les listes. Si vous définissez un ensemble constant de
valeurs et que tout ce que vous allez faire est le parcourir, utilisez un tuple au lieu d'une liste.
- Votre code est plus sûr si vous «protégez en écriture» les données qui n'ont pas besoin d'être
modifiées. Utiliser un tuple à la place d'une liste revient à avoir une assertion implicite que les
données sont constantes et que des mesures spécifiques sont nécessaires pour modifier cette
définition.
3. Exercices :
1. Définir la liste suivante : L = [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 2e au 3e élément ;
 Affichez la sous-liste du début au 2e élément ;
 Affichez la sous-liste du 3e élément à la fin de la liste ;
 Affichez la sous-liste complète de la liste ;
 Affichez le dernier élément en utilisant un indexage négatif

2. Initialisez LVide comme une liste vide, et LFlottant comme une liste de cinq flottants
nuls.
 Affichez ces listes.
 Ajouter à la liste LVide les nombres entre 0 et 1000 avec “step” de 200
 Utilisez la fonction range() pour afficher :
- Les entiers de 0 à 3 ;
- Les entiers de 4 à 7 ;
- Les entiers de 2 à 8 par pas de 2.
 Définir LElmnt comme une liste des entiers de 0 à 5 et testez l’appartenance
des éléments 3 et 6 à LElmnt.
 Ajouter le contenue des deux listes LVide et LFlottant à la fin de la
liste LElmnt.

5
3. Utiliser les fonctions list() et range() (list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
 Ecrire un programme pour créer la liste des nombres impairs de 1 à 101.
 Ecrire un programme pour créer la liste des nombres [7, 57, 107, 157, ..., 657].

4. Voici deux tuples ci-dessous :

>>> jours_1=('lundi','mardi','mercredi','jeudi','vendredi')
>>> jours_2=('samedi','dimanche')

Utiliser les méthodes et les opérations sur les tuples pour tester les différentes questions :

 Tester si samedi est un élément de jours_1.

 Donner la longueur de jours_2.

 Tester si jours_1 est égal à jours_2.

 Donner le deuxième élément de jours_1.

 Donner la partie de jours_1 entre le deuxième élément et le quatrième élément.

 renvoyer l'indice de dimanche dans jours_2.

 Renvoyer le nombre de samedi dans jours_2.

 Créer un tuple semaine par concaténation de jours_1 et de jours_2.

5. Chaque joueur peut posséder plusieurs personnages actifs, chacun se situant dans un
lieu donné.
Stockons l'ensemble des lieux occupés par les personnages du joueur C au tour 8 dans
le tuple C_tour8.

Suppososns que C_tour8 = (("A", 85, 36), ("chateau_C", -105.2, 23, True))

Écrire les lignes de code qui affichent :

 "chateau_C", -105.2, 23, True


 "chateau_C"
 -105.2, 23

You might also like