Programmation en Python : les tableaux

lundi 21 janvier 2019
par  Emmanuel Adam
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 :

  1. 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 :

  1. #déclaration d'une variable de type tableau de 10 entiers
  2. monTableau = zeros(10, int)

Pour définir une matrice, il suffit de préciser les dimensions. Ici une matrice contenant des réels :

  1. #déclaration d'une matrice 5 x 3 (tableau de tableaux) de réels
  2. 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 :

  1. #déclaration d'une variable de type tableau de 4 entiers
  2. unTableau = array([12, 15, 11, 18])
  3. #déclaration d'une matrice de 2x3 réels
  4. 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() :

  1. unTableau = array([12, 15, 11, 18])
  2. 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 :

  1. uneMatrice = array([[1.2, 3.4,5.6],[7.8, 8.9, 9.0]])
  2. dim = uneMatrice.shape
  3. #donne dim = (2,3)
  4. print("nb de lignes de uneMatrice=" + str(dim[Ø]))
  5. 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

  1. ##demande n entiers à l'utilisateur et les stocke dans le tableau t
  2. def stockerDansTab(tab, n):
  3.    for i in range(0,n):
  4.       print("Entrez la valeur " +str( i+1) + " : ")
  5.       tab[i] = int(input())
  6.  
  7. ##affiche les n premiers entiers du tableau t
  8. def afficherTab(tab, n)
  9.    for i in range(0,n):
  10.       print(str(tab[i]), ", ")
  11.    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...)

  1. def afficherTab(tab):
  2.    for elt in tab:
  3.       print(str(elt), ", ");
  4.    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 :

  1. matrice = array([[2,7,6],[9,5,1],[4,3,8]])
  2. for i in range(0,3):
  3.    for j in range(0,3):
  4.       print(str(matrice[i][j]),", ")
  5.   print()

De même, plus simplement sans utiliser d’indices, on peut écrire :

  1. for ligne in matrice: #pour chaque ligne de la matrice
  2.    for elt in ligne: #pour chaque élément de la ligne
  3.       print(elt, end=", ")
  4.    print()

 Cas particuliers en Python

En python, pour accéder au dernier élément d’un tableau, on peut utiliser l’indice -1 .

  1. tab = array([2,7,6,9,5,1,4,3,8])
  2. 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 :

  1. tab = array([2,7,6,9,5,1,4,3,8])
  2. petit_tab = tab[1:4]
  3. #petit_tab reçoit les valeurs tab[1], tab[2] et tab[3]
  4. #-> petit_tab=[7,6,9]


Navigation

Articles de la rubrique