PYTHON 2 Feuille n ° 5 d'exercices sur les listes BTS 1
-------------------------------------------------------------------------------------------------------
COURS:
Thème: Notion de Liste
• Vous connaissez la notion de suite ( un ) définie sur IN.
ses premiers termes sont:
u0 qui se lit u indice 0
u1 qui se lit u indice 1
..... etc
un qui se lit u indice n
Imaginez que l'on mette ces n + 1 premiers termes entre deux
crochets fermés et en les séparant par des virgules.
Vous avez la liste :
[ u0 , u1 , ... , un ] de longueur n + 1
• Une liste est une suite finie d'éléments séparés par une virgule
et entourés aux extrémités par des crochets fermés.
• Les éléments ou termes d'une liste peuvent être des réels, des entiers,
des chaines de caractères , même des listes.
Par exemple:
LOU = [ " livre " , "table" , "crayon", 4.35 ]
Elle a 4 termes. Sa longueur est donc 4
On écrit pour le dire:
len(LOU)=4
Le terme d'indice 0 est "livre". Il est noté LOU[0]
Le terme d'indice 3 est le réel 4.35
En Python 2.5 ou 2. 7 on peut mêler dans une liste des termes de
natures différentes. On parle du type d'un élément d'une liste.
•• type(LOU[0]) donne le type du terme d'indice 0.
C'est ici 'str ' car " livre " est une chaîne c-à-d string
•• type(LOU[3]) donnera 'float' car 4.35 est un nombre à virgule
Par exemple :
LEA=[ " Florian", [1 ,23,41] , "Paul",12.5]
est une liste.
LEA[1] est la liste [1 ,23,41] de longueur 3
Pour avoir dans la liste LEA[1] le terme 23 qui est d'indice 1
on considère:
(LEA[1])[1]
( LEA[1][1] pour certaines versions de Python )
• Ainsi comment désigner un terme d'une liste?
On écrit le nom de la liste suivi, à droite entre crochets
fermés, de l'indice du terme.
Par exemple:
Soit la liste: LOU = [ " livre " , "table" , "crayon", 4.35 ]
LOU [2 ] va donner le 3ième élément de la liste, à savoir ' crayon '
c-à-d le terme d'indice 2.
Le premier terme de la liste LOU est LOU[0]
• Ainsi chaque élément d'une liste de n éléments ( n dans IN* )
est repéré par un entier de 0 à n-1 .
• Liste vide.
LAV=[]
LAV est une liste sans aucun élément car il n'y a rien entre les crochets.
Cela sert souvent.
Cela permet d'avoir le << récipient >> que l'on peut remplir ensuite.
----------------------------------------------------------------------------------------------------------------------------------------------
EXERCICE1. Des éléments de rangs particuliers
Soit la liste de chaînes:
lio=["table", "chaise", "verre","tasse"]
Que donnent selon vous?
lio[0] ?
lio[3 ]?
------------------------------------------------------------------------------------------------------
Réponse: Cela donne:
lio[0] = ' table'
lio[3 ] =' tasse'
-----------------------------------------------------------------------------------------------------
EXERCICE 2 Un élément de rang particulier
Quel est l'effet du script ?
def san():
li=["table", "chaise", "verre","tasse"]
print li[2]
-----------------------------------------------------------------------------------------------------------
Réponse:
On obtient le troisième à l'affichage l'élément de la liste:
' verre'
Il est d'indice 2. C'est son troisième terme.
---------------------------------------------------------------------------------------------------------
EXERCICE 3 Sous liste
Quel est l'effet du script ?
def san():
li=["table", "chaise", "verre","tasse" , 44.5 ]
print li[1:4]
-----------------------------------------------------------------------------------------------------------------
Réponse:
Cela donne la liste des éléments li[1] , li[2] , li[3]
de li[1] jusqu'à li[ 4 - 1]
['chaise', 'verre', 'tasse']
-------------------------------------------------------------------------------------------------------------------------
EXERCICE 4 Nature d'un élément d'une liste
Quel est l'effet du script ?
def san():
li=["table", "chaise", "verre","tasse" , 44.5 ]
print type(li[4])
-----------------------------------------------------------------------------------------------------------------
Réponse:
Cela répond que li[4] est un réel:
<type 'float'>
on a un nombre à virgule
Par exemple aussi:
def san():
li=["table", "chaise", "verre","tasse" , 44.5 ]
print type(li[0])
donne :
>>> san()
<type 'str'>
>>>
------------------------------------------------