Programmation en Python : les tableaux
par
popularité : 100%
Quelques exemples de base sur la manipulation de tableaux (numpy.array)..
Déclaration de Tableaux
On choisit ici d’utiliser la bibliothèque numpy pour utiliser de "vrais’ tableaux typés.
_Sinon, par défaut, Python utilise la notion de liste..
Pour utiliser les tableaux simplement, on placera en tête du programme :
- from numpy import zeros,array
Si vous ne possédez pas numpy, installez-le par la commande pip install numpy
ou pip3 install numpy
selon votre installation. (voir le site de numpy)
Définir des tableaux
Voici un exemple de déclaration d’un tableau de 10 entiers :
- #déclaration d'une variable de type tableau de 10 entiers
- monTableau = zeros(10, int)
Pour définir une matrice, il suffit de préciser les dimensions. Ici une matrice contenant des réels :
- #déclaration d'une matrice 5 x 3 (tableau de tableaux) de réels
- maMatrice = zeros((5,3), float)
Declaration et affection directe de valeurs.
En Python, il est possible de d’affecter des valeurs à un tableau au moment de sa déclaration :
- #déclaration d'une variable de type tableau de 4 entiers
- unTableau = array([12, 15, 11, 18])
- #déclaration d'une matrice de 2x3 réels
- uneMatrice = array([[1.2, 3.4,5.6],[7.8, 8.9, 9.0]])
Taille d’un tableau
Pour récupérer la taille d’un tableau, il est possible d’utiliser la fonction len() :
- unTableau = array([12, 15, 11, 18])
- print("taille du tableau unTableau = " + str(len(unTableau )))
Ceci affiche :
taille du tableau unTableauRapide = 4
Pour récupérer les dimensions d’un tableau, il est possible d’utiliser le champs shape :
- uneMatrice = array([[1.2, 3.4,5.6],[7.8, 8.9, 9.0]])
- dim = uneMatrice.shape
- #donne dim = (2,3)
- print("nb de lignes de uneMatrice=" + str(dim[Ø]))
- print("nb de colonnes de uneMatrice=" + str(dim[1]))
Ceci affiche :
nb de lignes de uneMatrice=2
nb de colonnes de uneMatrice=3
Accéder aux cases d’un tableau pour stocker, lire..
En Python, pour accéder à une case d’un tableau, il suffit de placer son indice entre crochets suite à l’appel du tableau.
Remarque : la première case du tableau porte l’indice 0
- ##demande n entiers à l'utilisateur et les stocke dans le tableau t
- def stockerDansTab(tab, n):
- for i in range(0,n):
- print("Entrez la valeur " +str( i+1) + " : ")
- tab[i] = int(input())
- ##affiche les n premiers entiers du tableau t
- def afficherTab(tab, n)
- for i in range(0,n):
- print(str(tab[i]), ", ")
- print()
Parcourir les éléments d’un tableau sans indice !!
ceci est possible, en Python comme dans tous les langages récents, la syntaxe est :
for elt in tableau: print(elt)
(pour chaque élément elt du tableau, l’afficher...)
- def afficherTab(tab):
- for elt in tab:
- print(str(elt), ", ");
- print()
Accéder aux cases d’un tableau à deux dimensions
Si le tableau possède plusieurs dimensions (matrice, cube, ...), les indices (de ligne, colonne) sont placés chacun entre crochets
Exemple :
- matrice = array([[2,7,6],[9,5,1],[4,3,8]])
- for i in range(0,3):
- for j in range(0,3):
- print(str(matrice[i][j]),", ")
- print()
De même, plus simplement sans utiliser d’indices, on peut écrire :
- for ligne in matrice: #pour chaque ligne de la matrice
- for elt in ligne: #pour chaque élément de la ligne
- print(elt, end=", ")
- print()
Cas particuliers en Python
En python, pour accéder au dernier élément d’un tableau, on peut utiliser l’indice -1 .
- tab = array([2,7,6,9,5,1,4,3,8])
- derniere_valeur = tab[-1]
Création d’un tableau à partir d’un tableau existant :
On peut demander de récupérer un ensemble de valeurs d’un tableau, par cette syntaxe :
- tab = array([2,7,6,9,5,1,4,3,8])
- petit_tab = tab[1:4]
- #petit_tab reçoit les valeurs tab[1], tab[2] et tab[3]
- #-> petit_tab=[7,6,9]