Dans cette partie de cours, on va découvrir les l’utilisation des tableaux en python ( Python : Les tableaux ).
Introduction
En programmation, un tableau est une collection d’éléments du même type. Les tableaux sont populaires dans la plupart des langages de programmation tels que Java, C/C++, JavaScript, etc. Cependant, Python n’a pas de type de données spécifique pour représenter les tableaux. Les éléments suivants peuvent être utilisés pour représenter des tableaux en Python:
– En utilisant des listes
– Via le module de array
– Avec le module NumPy
Dans la suite du cours, nous utilisons le module array.
Remarque : Différence entre Liste et Tableau en Python
Nous pouvons traiter les listes comme des tableaux. Cependant, le type d’éléments stockés est complètement différent.
liste = [“Python”, 11, 15,2.10]
Création d'un tableau en python
Nous devons importer le module « array » pour créer des tableaux.
Exemple 1 :
import array as arr
array1 = arr.array('i')
array1.append(1)
array1.append(2)
print(array1)
Sortie : array(‘i’, [1, 2])
Exemple 2 :
import array as arr
tableau = arr.array('d', [1.0, 1.1, 1.2, 1.3])
print(tableau)
Sortie: array(‘d’, [1.0, 1.1, 1.2, 1.3])
Ici, nous avons créé un tableau de type float. La lettre ‘d’ est un code de type. Cela détermine le type du tableau lors de la création.
Les codes de type couramment utilisés sont listés comme suit :
Code | Type |
B | signed char |
h | signed short |
l | signed long |
i | Int |
f | Float |
D | Double |
Accéder aux éléments d’un tableau
Vous accédez aux éléments du tableau en vous référant au numéro d’index. L’exemple suivant affiche le troisième élément du tableau:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
print(tab[2])
Sortie: 3
Exercice : Proposer un programme en python qui permet de remplir un tableau avec 10 entiers saisis par l’utilisateur et l’afficher par la suite.
Remarque 1 : Indexation négative
L’indexation négative signifie à partir de la fin, -1 se réfère au dernier élément, -2 se réfère à l’avant-dernier élément, etc. L’exemple suivant affiche le dernier élément du tableau:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
print(tab[-1])
Sortie : 6
Exercice : Affiche un tableau de la fin au premier élément
Remarque 2 : Plage d’index
On peut spécifier une plage d’index en spécifiant par où commencer et où terminer la plage. Lors de la spécification d’une plage, la valeur de retour sera un nouveau tableau avec les éléments spécifiés. L’exemple suivant renvoie le troisième et quatrième élément:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
print(tab[2:4])
Sortie: array(‘i’, [3, 4])
La recherche commencera à l’index 2 (inclus) et se terminera à l’index 4 (non inclus).
– En ignorant la valeur de départ, la plage commencera au premier élément. L’exemple suivant renvoie les éléments du début jusqu’à le troisième élément:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
print(tab[:3])
Sortie: array(‘i’, [1, 2, 3])
– En ignorant la valeur de fin, la plage ira à la fin du tableau. L’exemple suivant renvoie les éléments de l’index 2(troisième élément) jusqu’à la fin:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
print(tab[2:])
Sortie: array(‘i’, [3, 4, 5, 6])
– Spécifiez des index négatifs si vous souhaitez commencer la recherche à la fin du tableau. L’exemple suivant renvoie les éléments de l’index -3 (inclus) à l’index -1 (exclus):
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
print(tab[-3:-1])
Sortie: array(‘i’, [4, 5])
Exercice : prédire le résultat du programme :
from array import *
T = array('i', [10, 14, 8, 34, 23, 67, 47, 22])
print(T[2:6]) # 8 34 23 67
print(T[:-3]) # 10 14 8 34 23
print(T[3:]) #34 23 67 47 22
print(T[:]) # 10 14 8 34 23 67 47 22
Modifier la valeur d’un élément
Pour modifier la valeur d’un élément spécifique, referez-vous au numéro d’index. L’exemple suivant change le deuxième élément:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
tab[1] = 100
print(tab)
Sortie: array(‘i’, [1, 100, 3, 4, 5, 6])
Parcourir un tableau en Python
Vous pouvez parcourir les éléments du tableau en utilisant la boucle for. L’exemple suivant affiche tous les éléments du tableau, un par un:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
for i in tab:
print(i, end="\t")
Sortie : 1 2 3 4 5 6
Vérifier si un élément existe dans un tableau
Pour déterminer si un élément spécifié est présent dans un tableau, utilisez le mot clé in. L’exemple suivant vérifie si le nombre 5 est présent dans le tableau:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
if 5 in tab:
print("5 existe dans le tableau")
Sortie : 5 existe dans le tableau.
Longueur d'un tableau
Pour déterminer le nombre d’éléments d’un tableau, utilisez la fonction len(). L’exemple suivant affiche le nombre d’éléments dans le tableau:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
print(len(tab))
Sortie: 6
Ajouter des éléments au tableau
1- La méthode append :
Pour ajouter un élément à la fin du tableau, utilisez la méthode append(). L’exemple suivant ajoute le nombre 7 en utilisant la méthode append():
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
tab.append(7)
print(tab)
Sortie: array(‘i’, [1, 2, 3, 4, 5, 6, 7])
2- La méthode insert :
On a aussi la méthode insert qui permet d’insérer un élément à une position précise dans le tableau. Exemple :
import array as arr
s1 = arr.array('i', [1, 2, 3])
s2 = arr.array('i', [4, 5, 6])
print(s1)
print(s2)
s3 = s1 + s2
print(s3)
s1.append(4)
print(s1)
s1.insert(0, 10)
print(s1)
Exercice1 : Proposer un programme en python qui permet d’insérer une valeur x à une position p du tableau T [10,20,30,40,50]
Exercice 2: Tester le programme suivant et conclure le rôle de la méthode extend :
from array import *
T= array('i', range(1, 10))
print("Tableau initial: ",T)
T.append(100)
print("Après append :",T)
T.extend(range(200, 205))
print("Après extend : ",T)
Supprimer un élément du tableau
Il existe plusieurs méthodes pour supprimer des éléments d’un tableau:
1- remove() :
La méthode remove() supprime l’élément spécifié:
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
tab.remove(4)
print(tab)
Sortie: array(‘i’, [1, 2, 3, 5, 6]).
2-pop() :
La méthode pop() supprime l’index spécifié, (ou le dernier élément si l’index n’est pas spécifié):
import array as arr
tab = arr.array('i', [1, 2, 3, 4, 5, 6])
tab.pop()
print(tab)
Sortie: array(‘i’, [1, 2, 3, 4, 5])
Exercice : Proposer un programme qui permet de supprimer une valeur sachant sa position dans le tableau
Exercice : Selon les résultats du programme suivant, prédire le rôle de l’opérateur del
from array import *
T = array('f', range(0, 10))
print("T initial : ",T)
del T[0]
print("T après del :",T)
del T[len(T)-1]
print("T apdès del : ",T)
del T
print("T :",T)
Remarque : comparaison entre les modules ‘array’ et ‘NumPy’
– Si tout ce que vous faites est de créer des tableaux de types de données simples et d’effectuer des E / S, le module array fonctionnera très bien.
– Si, d’un autre côté, vous voulez faire n’importe quel type de calcul numérique, le module array ne fournit aucune aide à ce sujet. NumPy (et SciPy) vous offrent une grande variété d’opérations entre les tableaux et les fonctions spéciales qui sont utiles non seulement pour le travail scientifique mais pour des choses comme la manipulation d’image avancée ou en général tout ce qui nécessite d’effectuer des calculs efficaces avec de grandes quantités de données.
Numpy est également beaucoup plus flexible, par exemple il prend en charge les tableaux de tout type d’objets Python, et est également capable d’interagir «nativement» avec vos propres objets s’ils sont conformes à l’interface du tableau.
Pour plus de détails, consulter le lien : https://docs.python.org/3/library/array.html
Vous pouvez suivre la liste des vidéos du cours Python (Programmation ) sur notre chaine youtube : Vidéos Python (cours) , Vidéos Python (exercices).
Aussi, notre cours bien structuré est sur le site : cours python
Découvrir plus de cours
Algorithmes, base de données, merise, SQL
tableau à une dimension : déclaration et utilisation
Cette partie de cours nous montre pourquoi utiliser un tableau à une dimension!! comment créer...
enregistrements en algorithmique
Introduction Le type tableau nous a permis de définir une structure composée de plusieurs éléments,...
SQL : l’ordre select (1/2)
Après l’introduction que nous avons fait ici, nous voulons commencer notre apprentissage du langage sql...
Solution TP0 (Entrées/Sorties et Traitements)
Dans cette partie, on va corriger l’activité 1 qui concerne l’objectif : analyser un problème...