Quelle est la différence entre liste et tableau en Python
Table des matières
- Comment trier une liste de tuples ?
- Comment trier une liste de tuples en fonction d'un élément ou d'une valeur personnalisée ?
- Trier un tuple de python en toute simplicité
- Trier une liste de listes ou de tuples
- Trier une liste de tuples par deuxième article
Introduction :
Les listes et les tableaux sont utilisés pour stocker des données en Python. De plus, les deux structures de données permettent l'indexation, le découpage et l'itération. Quelle est donc la différence entre un tableau et une liste en Python ? Dans cet article, nous allons expliquer en détail quand utiliser un tableau en Python par rapport à une liste.
1. Différence entre liste et tableau :
Python a beaucoup de structures de données différentes avec des caractéristiques et des fonctions différentes. Ses structures de données intégrées comprennent des listes, des tuples, des ensembles et des dictionnaires. Cependant, il ne s'agit pas d'une liste exhaustive des structures de données disponibles en Python. Certaines structures de données supplémentaires peuvent être importées à partir de différents modules ou paquets.
Une structure de données matricielle appartient à la catégorie des "importations obligatoires". Pour utiliser un tableau en Python, vous devez importer cette structure de données à partir du paquet NumPy ou du module tableau.
Et c'est la première différence entre les listes et les tableaux. Avant d'approfondir les différences entre ces deux structures de données, passons en revue les caractéristiques et les fonctions des listes et des tableaux.
2. Qu'est-ce qu'une liste en Python ?
Une liste est une structure de données intégrée à Python qui contient une collection d'objets. Les listes présentent un certain nombre de caractéristiques importantes :
- Les éléments de la liste sont placés entre crochets, comme ceci [point1, point2, point3].
- Les listes sont ordonnées, c'est-à-dire que les éléments de la liste apparaissent dans un ordre précis. Cela nous permet d'utiliser un index pour accéder à n'importe quel élément.
- Les listes sont modifiables, ce qui signifie que vous pouvez ajouter ou supprimer des éléments après la création d'une liste.
- Les éléments d'une liste ne doivent pas nécessairement être uniques. La duplication des éléments est possible, car chaque élément a sa propre place distincte et peut être accessible séparément par l'intermédiaire de l'index.
- Les éléments peuvent être de types de données différents : vous pouvez combiner des chaînes de caractères, des entiers et des objets dans la même liste.
Les listes sont très facilement créées en Python :
Syntaxe :
liste = [5, 6, 10, 12]
print(liste)
print(type(liste))
Résultat d’exécution :
Les listes Python sont utilisées à peu près partout, car elles constituent un excellent outil pour sauvegarder une séquence d'éléments et la parcourir.
3. Qu'est-ce qu'un tableau en python ?
Un tableau est également une structure de données qui stocke une collection d'articles. Comme les listes, les tableaux sont ordonnés, modifiables, mis entre crochets et capables de stocker des éléments non uniques.
Mais lorsqu'il s'agit de la capacité du tableau à stocker différents types de données, la réponse n'est pas aussi simple. Cela dépend du type de tableau utilisé.
Pour utiliser des tableaux en Python, vous devez importer soit un module de tableau, soit un paquet NumPy.
Le module de tableau Python exige que tous les éléments du tableau soient du même type. De plus, pour créer un tableau, vous devez spécifier un type de valeur. Dans le code ci-dessous, le "i" signifie que tous les éléments du tableau_1 sont des entiers :
Syntaxe :
import array as arr
import numpy as np
array_1 = arr.array("i", [3, 6, 9, 12])
print(array_1)
print(type(array_1))
Résultat d’exécution :
D'autre part, les tableaux NumPy prennent en charge différents types de données. Pour créer un tableau NumPy, il suffit de spécifier les éléments (entre crochets, bien sûr) :
Syntaxe :
import array as arr
import numpy as np
array_2 = np.array(["numero", 3, 6, 9, 12])
print (array_2)
print(type(array_2))
Résultat d’exécution :
Comme vous pouvez le voir, array_2 contient un élément du type chaîne de caractères (c'est-à-dire "nombre") et quatre entiers.
4. Quelle est la différence ?
Maintenant que nous connaissons leurs définitions et leurs caractéristiques, nous pouvons parler des différences entre les listes et les tableaux en Python :
- Les tableaux doivent être déclarés. Les listes ne le sont pas, puisqu'elles sont intégrées à Python. Dans les exemples ci-dessus, vous avez vu que les listes sont créées en mettant simplement une séquence d'éléments entre crochets. La création d'un tableau, en revanche, nécessite une fonction spécifique du module array (c'est-à-dire array.array()) ou du paquet NumPy (c'est-à-dire numpy.array()). De ce fait, les listes sont plus souvent utilisées que les tableaux.
- Les tableaux peuvent stocker des données de manière très compacte et sont plus efficaces pour stocker de grandes quantités de données.
- Les tableaux sont parfaits pour les opérations numériques ; les listes ne peuvent pas traiter directement les opérations mathématiques. Par exemple, vous pouvez diviser chaque élément d'un tableau par le même nombre avec une seule ligne de code. Si vous essayez la même chose avec une liste, vous obtiendrez une erreur.
Syntaxe :
import array as arr
import numpy as np
array = np.array([3, 6, 9, 12])
division = array/3
print(division)
print (type(division))
Résultat d’exécution :
Syntaxe :
list = [3, 6, 9, 12]
division = list/3
Résultat d’exécution :
Alors, quand faut-il utiliser une liste et quand faut-il utiliser un tableau ?
- Si vous avez besoin de stocker une séquence d'éléments relativement courte et que vous ne prévoyez pas de faire d'opérations mathématiques avec elle, une liste est le choix préféré. Cette structure de données vous permettra de stocker une séquence d'éléments ordonnée, mutable et indexée sans importer de modules ou de paquets supplémentaires.
- Si vous avez une très longue séquence d'éléments, envisagez d'utiliser un tableau. Cette structure offre un stockage de données plus efficace.
- Si vous envisagez d'effectuer des opérations numériques avec votre combinaison d'éléments, utilisez un tableau. L'analyse des données et la science des données reposent largement sur les tableaux (principalement NumPy).
5. Exercice :
5.1. Exercice 1 :
Créer une liste qui contient les éléments suivants :
Nom , prénom , adresse , 1
Affichez les résultats.
5.2. Exercice 2 :
Créer un tableau qui contient les mêmes éléments de la liste précédente, et afficher les résultats.
5.3. Exercice 3 :
Comment faire la division sur 3 pour les éléments suivants :
(3,9,12,15)
Par une liste ou un tableau ?
Affichez les résultats.
6. Solution
6.1. Exercice 1 :
Syntaxe :
liste = ['nom','prénom','adress',1]
print(liste)
Résultats de l’affichage :
6.2. Exercice 2 :
Syntaxe :
import array as arr
import numpy as np
tableau = np.array(['nom','prénom','adress',1])
print(tableau)
Résultats de l’affichage :
6.3. Exercice 3 :
On utilise un tableau pour effectuer une opération numérique.
Syntaxe :
import array as arr
import numpy as np
tableau = np.array([3, 9, 12, 15])
division = tableau/3
print(division)
Résultats de l’affichage :
Conclusion
En Python, un array.array est un tableau linéaire à une dimension ; il est de longueur variable (donc il ne rassemble pas nécessairement les données en mémoire), mais il ne peut contenir que des données d'un type de taille fixe, et ne peut donc pas contenir d'autres conteneurs (par exemple d'autres array.arrays). Cette contrainte permet à l'interpréteur d'allouer efficacement la mémoire, car chaque fois que vous allez augmenter considérablement le tableau, il ne doit allouer de l'espace que pour un type de données de largeur connue. Ainsi, si vous connaissez votre type de données à l'avance, l'utilisation d'un array.array peut être beaucoup plus efficace en termes de mémoire.
Par contraste, la liste de Python est de largeur variable mais peut également contenir des types de données de largeur variable, et peut donc aussi contenir des N-dimensions (c'est-à-dire que vous pouvez faire des listes de listes). C'est beaucoup moins efficace en mémoire, car l'interpréteur doit préallouer une bonne partie de la mémoire pour lui permettre de se développer de manière performante.
Super ! Maintenant, vous connaissez la différence entre un tableau et une liste en Python. Vous savez aussi ce qu'il faut choisir pour une séquence d'éléments. Il est maintenant temps de s'entraîner !
Article publié le 27 Février 2021 par Mouhtat Bilal