Académique Documents
Professionnel Documents
Culture Documents
Les listes
https://python.sdv.univ-paris-diderot.fr/04_listes/
l = [1,2,3]
len(l)
3
l[0]
1
l[2]
3
Accès aux éléments par la gauche de la liste, avec des indices négatifs
l[-1]
3
l[-2]
2
Accès à des intervalles de la liste.
l[0:0]
[]
l[0:2]
[1, 2]
l[0:4]
[1, 2, 3]
l[0:6]
[1, 2, 3]
l[1:]
[2, 3]
l[:2]
[1, 2]
l[:-1]
[1, 2]
1
l[:]
[1, 2, 3]
On ne peut pas accèder à un élément qui n’existe pas.
l[7] = 4
---------------------------------------------------------------------------
<ipython-input-15-aac57e5864e7> in <module>
----> 1 l[7] = 4
2
4.9.2 Saisons
Créez 4 listes hiver, printemps, ete et automne contenant les mois correspondants
à ces saisons. Créez ensuite une liste saisons contenant les listes hiver, printemps,
ete 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 ?
hiver = [ 'décembre', 'janvier', 'février' ]
printemps = [ 'mars', 'avril' , 'mai' ]
ete = [ 'juin', 'juillet', 'aout' ]
automne = [ 'septembre', 'octobre', 'novembre' ]
saisons = [ hiver, printemps, ete, automne ]
saisons[2]
['juin', 'juillet', 'aout']
saisons[1][0]
'mars'
saisons[1:2]
[['mars', 'avril', 'mai']]
saisons[:][1]
['mars', 'avril', 'mai']
3
Les boucles
https://python.sdv.univ-paris-diderot.fr/05_boucles_comparaisons/
Elements de syntaxe : - les : qui marquent l’ouverture d’un bloc de code -
l’indentation qui permet de signifier quelles instructions sont dans le même bloc
de code
for element in saisons:
print(element)
['décembre', 'janvier', 'février']
['mars', 'avril', 'mai']
['juin', 'juillet', 'aout']
['septembre', 'octobre', 'novembre']
De l’importance de l’indentation, seules les instructions indentées sous le pour
appartiennent au même bloc et sont exécutées à chaque tour de boucle.
for element in saisons:
print(element)
print(element)
['décembre', 'janvier', 'février']
['mars', 'avril', 'mai']
['juin', 'juillet', 'aout']
['septembre', 'octobre', 'novembre']
['septembre', 'octobre', 'novembre']
Python demande à ce que les indentations soient toutes les mêmes. Ici cela crée
une erreur.
for element in saisons:
print(element)
print(element)
File "<tokenize>", line 3
print(element)
^
IndentationError: unindent does not match any outer indentation level
for i in range(len(saisons)):
print(saisons[i])
['décembre', 'janvier', 'février']
['mars', 'avril', 'mai']
['juin', 'juillet', 'aout']
['septembre', 'octobre', 'novembre']
La boucle tant que permet d’itérer et de s’arrêter sur une condition et non de
parcourir toutes les valeurs d’un ensemble.
4
i = 0
while i < len(saisons):
print(saisons[i])
i += 1
['décembre', 'janvier', 'février']
['mars', 'avril', 'mai']
['juin', 'juillet', 'aout']
['septembre', 'octobre', 'novembre']
Si on sait à l’avance le nombre de tours de boucles, on utilise la boucle pour.
Si la condition d’arrêt de la boucle évolue au fur et à mesure du déroulement de
celle-ci, on utilise la boucle tant que.
import random
l = random.sample(range(1,100), 50)
print(l)
# recherche de la suite des nombres croissants en début de liste
i = 0
while i < len(l)-1 and l[i] < l[i+1]:
print(l[i])
i +=1
[5, 84, 45, 14, 49, 69, 41, 28, 17, 15, 48, 68, 34, 67, 33, 74, 99, 16, 25, 78, 53, 59, 43,
5
5
produit de 2 et 4 : 8 produit de 4 et 6 : 24 produit de 6 et 8 :
48 [...]
pairs = list(range(2,20+1,2))
for i in range(len(pairs)-1):
print("produit de {} et {} : {}".format(pairs[i],pairs[i+1],pairs[i]*pairs[i+1]))
produit de 2 et 4 : 8
produit de 4 et 6 : 24
produit de 6 et 8 : 48
produit de 8 et 10 : 80
produit de 10 et 12 : 120
produit de 12 et 14 : 168
produit de 14 et 16 : 224
produit de 16 et 18 : 288
produit de 18 et 20 : 360