Index de l'article

Etape 1 - Présentation des listes et de la méthode append()

Que l'on soit bien d'accord, pour l'instant mon programme ne conserve rien dans sa mémoire. Pour chaque tour dans la boucle, il calcule a,b, mémorise rep, incrémente n (ou pas) puis les valeurs de ces variables sont écrasées lors de la boucle suivante...

Il est temps de faire appel aux listes et à ces méthodes. Pour la doc voir ici: https://docs.python.org/fr/3/tutorial/datastructures.html

 

Tester le script suivant

Le script

vide=[]
pasvide=[2,"rieffel",2.58]
print(vide)
print(type(vide))
print(pasvide)
print(type(pasvide))
vide.append(12)
vide.append("plus vide")
print("-----")
print(vide)

Le résultat

>>> %Run zzz.py
[]
<class 'list'>
[2, 'rieffel', 2.58]
<class 'list'>
-----
[12, 'plus vide']

Pour comprendre

  • La première ligne => création d'une liste de nom "vide" ne contenant pas d'élément. Elle est donc vide!
  • La seconde ligne => création d'une liste de nom "pasvide" contenant 3 éléments: l'entier 2, le texte rieffel et le décimal 2.58
  • Les lignes 3 et 4 affichent le contenu de la liste vide et son type "class 'list". C'est donc une liste ;)
  • Idem pour les lignes 5 et 6
  • La ligne 7 applique la méthode append() à la liste vide et lui ajoute l'entier 12 => la liste vide contient maintenant 12!
  • La ligne 8 applique la méthode append() à la liste vide qui contient 12 le texte "plus vide" => la liste vide contient maintenant 12 et le texte "plus vide"!

Pour enfoncer le clou

Je veux créer une liste qui contiendra les 100 premiers entiers au cube. Je me dis qu'une boucle me fera gagner du temps! En partant d'une liste vide, je peux ajouter les cubes via la méthode append().

cube=[]
n=0
for i in range (100):
    n=i*i*i
    cube.append(n)
  • Notez que je peux le faire en n'utilisant pas la variable n, et en gagnant 2 lignes! Trouvez le script!
  • Notez aussi que si i*i*i calcule bien le cube de i, il en est de même pour i**3 ;)