Les tableaux en Python

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, en Python, ils ne sont pas si courants. Lorsque les gens parlent de tableaux en Python, le plus souvent, ils parlent de listes en Python. Si vous ne savez pas ce que sont les listes, vous devez absolument voir le tutoriel sur Liste en Python.
 
 
Les tableaux sont pris en charge en Python grâce au module « array ».
 

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. Par exemple:

#créer une liste avec des éléments de différents types
liste = ["A", 5, 2.2]

Si vous créez des tableaux à l’aide du module « array », tous les éléments du tableau doivent être du même type.

import array as arr

tableau = arr.array('d', ["A", 5, 2.2])

Sortie:

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    tableau = arr.array('d', ["A", 5, 2.2])
TypeError: a float is required

Le code ci-dessus affiche une erreur, car la méthode array() attend un tableau de type float.
 

Comment créer un tableau en Python

Comme vous l’avez peut-être deviné à partir de l’exemple ci-dessus, nous devons importer le module « array » pour créer des tableaux. Par exemple:

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
bsigned char
Bunsigned char
hsigned short
Hunsigned short
lsigned long
Lunsigned long
iint
ffloat
ddouble

 

Comment 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 deuxième élément du tableau:

import array as arr

tab = arr.array('i', [1, 2, 3, 4, 5, 6])
print(tab[1])

Sortie:

2

 

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

 

Plage d’index

Vous pouvez 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éments:

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])

 

Plage d’index négative

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])

 

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)

Sortie:

1
2
3
4
5
6
Vous en apprendrez plus sur les boucles for dans notre chapitre Boucle for en Python.

 

Vérifiez 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

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])

 
 

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])

 

Partagez cet article

4 réflexions sur “Les tableaux en Python

  • Avatar
    septembre 25, 2020 à 5:15
    Permalien

    Bonjour,
    Je débute en Python, et j’aimerai savoir si les array sont souvent utilisés ? Car sur l’ensemble des projets que j’ai été amené à réaliser, je ne les ai jamais utilisé.
    Merci

    Répondre
    • Thomas Clavet
      octobre 15, 2020 à 10:05
      Permalien

      En fait les array ne peuvent contenir que des données homogènes (c’est-à-dire toutes du même type) et n’utilise donc que sizeof(obj) * length octets de mémoire. La plupart du temps, vous devriez l’utiliser lorsque vous avez besoin d’exposer un tableau C à une extension ou à un appel système (par exemple, ioctl ou fctnl).

      Répondre
  • Avatar
    décembre 5, 2020 à 10:18
    Permalien

    bonjour tout le monde.j’ai cree 100 dossiers. je voudrais parcour tous dossiers et supprimer les dossiers tant que l’index de parcours est <6 (i<=6) et je maintiens le 7 ieme dossiers. jarrive pas à le faire besoin daide svp

    Répondre
    • Thomas Clavet
      décembre 5, 2020 à 11:00
      Permalien

      Vous devez simplement itérer correctement dans une plage:

      files = os.listdir('path/to/your/folder')
      for file in files[:6]:
          os.remove(file)

      de cette façon, vous parcourez une liste contenant les 6 premiers fichiers.

      Si vous souhaitez supprimer des fichiers aléatoires, vous pouvez utiliser:

      from random import sample
      
      files = os.listdir('path/to/your/folder')
      for file in sample(files,11):
          os.remove(file)
      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *