Les listes


[ ... ]

Partie 5

Partie 5

Partie 5

Objectifs sur les listes :
  • Créer une liste, vide ou non
  • Accéder et modifier un élément
  • Parcourir une liste
  • Ajouter et supprimer des élements
  • Copier une liste

LISTE

Créer une liste

Les tableau (list) en python


Créer une liste vide :
nom_liste = [   ]

Créer une liste déjà remplie :
nom_liste = [va0, va1, ...]

LISTE

Ce qu'on peut y mettre

Exemples :

entiers = [1, 2, 8, 78] # liste d'entiers
strings = ["slt", "bjr", "cc"] # liste de strings
mixte = [2, "dd", 2.5] # liste contenant plusieurs type de valeurs
liste_de_liste = [[12, 4], [5, 4, 3],[4]] # liste contenant des listes
liste_vide = [] # ou list()

LISTE

A retenir

En python, les tableaux sont contenus dans des crochets [ ... ]
Les éléments sont séparés par des virgules ,
nom_tableau = [ élement1 , élement2 , élement3 ]

LISTE

Accéder à un élément

Pour accéder à un élément, on utilise son index (sa position dans la liste)

L'index d'une liste commence à 0.

[\underbrace{\text{"Euler"}}_{0}, \underbrace{\text{"Euclide"}}_{1}, \underbrace{\text{"Liebniz"}}_{2}, \underbrace{\text{"Riemann"}}_{3}]

LISTE

Comment ça marche : Accéder à un élément

L'instruction pour accéder à un élément est construite à partir du nom du tableau et de l'index (la position) de l’élément souhaité entre crochets [].

nom_tableau [ index ]

LISTE

Longueur d'un tableau



len(nom_tableau)


notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]
print(len(notes))
        

LISTE

Les index négatifs



Comment accéder aux derniers éléments d'un tableau ?


notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]

LISTE

Comment ça marche : Les index négatifs



Pour atteindre le dernier élément d'un tableau, il faudrait connaître le nombre total d'éléments du tableau (en utilisant la fonction len) et lui soustraire 1.

LISTE

Comment ça marche : Les index négatifs




notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]
nb_notes = len(notes)
print(notes[nb_notes - 1])


LISTE

Comment ça marche : Les index négatifs




notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]
print( notes[len(notes) - 1])


LISTE

Comment ça marche : Les index négatifs




notes = [12, 14, 11, 16, 17, 15, 18, 15, 19]
print( notes[-1])


LISTE

Exercice 1

On considère le code suivant :

tab = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
Que vaut tab[3] ?

LISTE

Modification d'un élément

>

LISTE

Comment ça marche : Modification d'un élément

Pour modifier la valeur d'un élément, il faut acceder à cet élément par son index et lui affecter une nouvelle valeur à l'aide du signe =.

nom_tableau[index ] = nouvelle valeur

Ajouter des éléments

LISTE

Comment ça marche : Ajouter d'un élément

Il existe plusieurs façons d'ajouter des éléments à un tableau donné.
On peut :

  • ajouter un élement à la fin de la liste,
  • inserer un élement à un indice donné,
  • étendre un tableau à partir d'un second tableaux,
  • concatener 2 tableaux pour en former un troisième.

LISTE

Comment ça marche : Ajouter d'un élément


Pour ajouter un seul élément à la fin du tableau, on utilise la méthode append. La méthode append modifie sur place l'objet tableau qui l'appelle.
nom_tableau .append( element )

LISTE

Comment ça marche : inserer un élément dans une liste

La méthode insert permet d'inserer un élément à un index donné.

nom_tableau .insert( index , element )

LISTE

Comment ça marche : Etendre une liste


Pour ajouter un tableau d'éléments, on utilise la méthode extend. La méthode extend modifie sur place l'objet tableau qui l'appelle.
nom_tableau .extend( tableau_2 , element )

LISTE

Comment ça marche : Ajout par concaténation


Il est aussi possible de concaténer 2 listes pour en créer une troisième à l'aide de l'instruction +.

tableau_1 = ["Alan", "Ada", "Grace", "Ian"]
tableau_2 = ["Charles", "Guido"]
mon_tableau = tableau_1 + tableau_2
print(mon_tableau)
["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]

LISTE

Exercices

Qu'affiche le programme python suivant ?
Rappel : len() renvoie la longueur de la liste passée en paramètre.
tab1 = [3,2,2]
tab2 = [1,5,1]
tab1.append(tab2)
print(len(tab1))


Supprimer des éléments

LISTE

Comment ça marche : supprimer un élément dans une liste

Voici une première façon de supprimer un élément dans une liste.
En python :

nom_liste.pop(indice)

Exemples :

entiers = [1, 8, 2, 8, 78, 9] # liste d'entiers
  val = entiers.pop() # supprime le dernier élément de entiers et le stocke dans val
  print(val) # renvoie 9
  print(entiers) # renvoie [1, 8, 2, 10, 78]
  val = entiers.pop(3) # supprime la valeur de l'indice 3 et la retourne
  print(val) # renvoie 10
  print(entiers) # renvoie [1, 8, 2, 78]

Remarques :

  • .pop() supprime la dernière valeur et renvoie la valeur supprimée.
  • .pop(indice) supprime la valeur de l'indice donné et renvoie la valeur supprimée.
  • Elle doit être collé à la liste à laquelle on souhaite supprimer la valeur.

LISTE

Comment ça marche : supprimer un élément dans une liste

Voici une seconde façon de supprimer un élément dans une liste.
En python :

nom_liste.remove(valeur)

Exemple :

entiers = [1, 8, 2, 8, 78, 9] # liste d'entiers
entiers.remove(8) # supprime le premier 8
print(entiers) # renvoie [1, 2, 8, 78, 9]

Remarques :

  • .remove(valeur) supprime la première occurence de la valeur donné en paramètre.
  • Elle doit être collé à la liste à laquelle on souhaite supprimer la valeur.

Parcourir un tableau

LISTE

Comment ça marche : Parcourir un tableau

Il existe deux manières de parcourir les éléments d'une liste :
  • Parcourir une liste à partir des index des éléments
  • Parcourir une liste par itération sur les éléments

LISTE

Comment ça marche : Parcours à partir de l'index des éléments

En python, les tableaux (list) fonction taille len( ) donnant le nombre d'éléments contenus dans la liste.
Associer à la fonction range(), on obtient un itérable composé de tous les index des éléments de la liste.
for index in range(len(tableau)):.

LISTE

Comment ça marche : Parcours à partir de l'index des éléments


mon_tab = ["Alan", "Ada", "Grace", "Ian", "Guido"]
for index in range(len(mon_tab)):
    print(mon_tab[index])
Dans cet exemple, la longueur de mon_tab est 6.
L'instruction range(len(mon_tab)) va être successivement évaluée par range(6) puis par un itérable de longueur 6 qui contiendra les valeurs 0, 1, 2, 3, 4 et 5 qui seront succéssivement données à la variable index.

LISTE

Comment ça marche : Itération des éléments

Comme pour tout les itérables, il est aussi possible de parcourir un tableau en itérant les éléments du tableau, avec les instructions

for valeur in tableau :

LISTE

Exemple


mon_tableau = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
for elmt in mon_tableau:
  print(elmt)
Dans cet exemple, la variable elmt prendra successivement les valeurs contenues dans la variable mon_tableau, c'est à dire "Alan", "Ada", "Grace", "Ian".

LISTE

remarque

Il est souvent utile de bien nommée la variable créée dans la boucle for. Ainsi pour le code précédent, il aurait été préférable d'écrire :


mon_tableau = ["Alan", "Ada", "Grace", "Ian", "Charles", "Guido"]
for informaticien in mon_tableau:
  print(informaticien)

Exercice

On considère le code suivant :

def feed(t):
  for i in range(len(t)):
      t[i] = t[i] + i
  return t
Que renvoie l'instruction feed([12, 24, 32]) ?

LISTE

https://urlz.fr/lx1B
fdfd