Python Array vs. List : Différences et cas d'utilisation

Publié: 2021-11-03

Python a pris le dessus sur les autres langages en science des données au cours des dernières années, et ses structures de données jouent un rôle essentiel. Python possède un grand nombre de structures de données, parmi lesquelles les tableaux et les listes sont les plus populaires dont nous allons discuter aujourd'hui.

Les tableaux et les listes sont deux structures de données importantes en Python qui sont similaires à bien des égards. Ils peuvent tous deux être utilisés pour stocker des données et nous permettre de les parcourir, de les découper et même d'accéder à leurs éléments en utilisant la méthode d'indexation. Alors quelle est la différence entre liste et tableau en Python ? Eh bien, c'est ce dont nous allons discuter dans cet article.

Table des matières

Tableaux en Python

Un tableau est une structure de données contiguë qui contient des éléments homogènes, c'est-à-dire les éléments qui appartiennent au même type de données.

Voici les principales caractéristiques présentées par les tableaux en Python :

  • La nature contiguë du réseau permet aux données d'être stockées dans des emplacements de mémoire adjacents. Cela facilite les opérations sur les éléments du tableau.
  • Un tableau en Python peut être déclaré de deux manières :
    • Utilisation du module tableau

import array # importation du module 'array'

myArray = array.array('i', [10, 20, 30]) # déclaration de tableau

# tableau créé : [10, 20, 30]

Remarque : Dans la déclaration ci-dessus, il est nécessaire de préciser le code du format. Ici, 'i' est un code de format qui signifie entier.

  • Utilisation du module NumPy

import numpy # import du module 'numpy'

myArray = numpy.array([10, 20, 30]) # déclaration de tableau

# tableau créé : [10, 20, 30]

  • Les éléments du tableau sont ordonnés . Chaque élément a un index entier associé. Par exemple, dans arr[10, 20, 30], '10', '20' et '30' sont stockés aux indices 0, 1 et 2 respectivement dans la mémoire.

Remarque : L'indexation des tableaux en Python commence à partir de 0.

  • Un tableau ne peut contenir que des valeurs de même type, c'est-à-dire des éléments homogènes . Par exemple,

tab[1, 2, 3]

arr['a', 'b', 'c']

Un tableau en Python est généralement utilisé pour stocker une liste d'éléments similaires. Un cas d'utilisation réel d'un affichage peut être de stocker les cours d'une action particulière pendant une série de jours. Le cours de clôture de l'action reste intact pour une action et un jour spécifiques. Cela signifie que le stockage de ces détails dans une structure de données immuable telle qu'un tableau est beaucoup plus logique.

En fait, les tableaux NumPy sont généralement utilisés pour stocker des données provenant de grands ensembles de données en science des données et en apprentissage automatique. Chaque tableau NumPy correspond à une fonctionnalité dans un jeu de données.

Listes en Python

Une liste est l'un des quatre conteneurs ou structures de données intégrés pris en charge par Python. L'un des principaux avantages de l'utilisation de listes est qu'une seule liste peut contenir des valeurs de plusieurs types de données.

Voici les principales caractéristiques présentées par les listes en Python :

  • Les listes sont plus flexibles en termes de stockage des données. Ils peuvent contenir des données hétérogènes , c'est-à-dire des éléments de types différents. Par exemple,

[1, 'bonjour', ['x', 'y']]

  • Les listes sont également ordonnées et les éléments stockés dans une liste sont accessibles à l'aide de leurs indices. Des indices négatifs peuvent être utilisés pour accéder à un élément à partir de la fin de la liste. Par exemple.,

maListe = [20, 40, 'bonjour', 'monde']

# impression de l'avant-dernier élément

imprimer(maListe[-2])

Sortir

  • Les listes peuvent être facilement mutées après l'initialisation de la liste. Pour modifier une valeur, accédez-y à l'aide de l'index de l'élément.

voitures = ['Ford', 'Tesla', 'Jaguar']

voitures[2] = 'BMW'

  • Les listes multidimensionnelles peuvent également être implémentées en Python en utilisant le concept de listes imbriquées. Ces listes multidimensionnelles peuvent être utilisées comme tableaux multidimensionnels en Python.

maArr = [[1, 2], [3, 4]]

# tableau 2D créé :

# |1, 2|

# |3, 4|

Un cas d'utilisation réel d'une liste hétérogène multidimensionnelle en Python peut être de stocker un ensemble de détails de produit tels que le type de produit, la catégorie, le prix de revient, le prix de vente, etc. Chaque liste dans une telle liste multidimensionnelle représente un produit. Étant donné que les listes sont modifiables, il devient plus facile de modifier les détails du produit à tout moment.

Si vous êtes un développeur Python en herbe, couvrir les différences fondamentales entre tableau et liste en Python est un aspect clé. Alors, sans plus tarder, passons directement à une description tabulaire sur Python Array vs. List.

Connaître la différence entre tableau et liste en Python

Python Array vs List : Qui est le gagnant ?

PARAMÈTRE

LISTE DÉPLOYER

Déclaration

Les listes n'ont pas besoin d'être déclarées car elles sont intégrées à Python.

liste = [ 10 , 20 , 30 ]

Vous devez importer un module de tableau ou une bibliothèque NumPy pour déclarer un tableau.

my_arr_1 = array.array( 'i' , [ 10 , 20 , 30 ])

Type de données

Une seule liste peut contenir des valeurs appartenant à différents types de données.

maListe = [ 40 , 'salut' , 'm' ]

Tous les éléments d'un tableau doivent être du même type de données.

myArr = arr.array(i, [ 1 , 0 , 9])

Taille

La liste Python est redimensionnable car, lors de l'initialisation de la liste, Python initialise certains éléments supplémentaires. Les tableaux ont une taille constante qui ne peut pas être modifiée.

Espacer/

Mémoire

Consomme plus d'espace et de mémoire pour l'ajout ou la suppression d'éléments.

Stocke les données de manière plus compacte.

Stockage de données

Préféré pour stocker une petite quantité de données.

Préféré pour stocker une grande quantité de données

Opérations mathématiques

Ne peut pas être utilisé directement pour les opérations mathématiques.

Les éléments du tableau peuvent être facilement manipulés à l'aide d'opérations mathématiques avancées.

Afficher les données

Les éléments d'une liste peuvent être affichés sans boucle

ma_Liste = [ 1 , "Dennis" ,[ 'a' , 'b' ]]

imprimer(ma_Liste)

Une boucle doit être nécessaire pour que les éléments d'un tableau soient affichés.

tableau d'importation

my_Arr = array.array( 'i' , [ 1 , 2 , 3 ])

pour je dans my_Arr :

imprimer (je)

Python Array vs List : Qui est le gagnant ?

Si vous lisez cette section, cela signifie que vous êtes maintenant assez familiarisé avec la différence entre liste et tableau en Python. Cependant, vous devez également savoir quand utiliser Array ou List dans votre programme.

Cette section aborde les différentes circonstances dans lesquelles vous devez choisir la structure de données la plus appropriée parmi ces deux.

Type d'éléments

Si le type de données n'est pas prédéterminé, il existe une collection de données appartenant à plusieurs types. Par exemple, pour stocker l'enregistrement des étudiants ayant des entités telles que name(string) , ID(integer) et marks(float) , une liste est un choix préféré.

Si les données à stocker appartiennent au même type de données, un tableau ou une liste peut être préféré ici. Le choix dépendra alors d'autres paramètres tels que la taille des données, les opérations à effectuer et l'utilisation.

Consommation de mémoire

La consommation de mémoire dans les listes est d'autant plus importante qu'un espace supplémentaire est alloué lors de l'initialisation de la liste. Si la collecte de données est relativement plus petite, alors une liste est un choix efficace ici.

Source de l'image : webcourses@UCF

Les tableaux conviennent au stockage de grandes quantités de données, car la consommation de mémoire des tableaux est plus efficace que celle des listes.

Source de l'image : webcourses@UCF

Opérations prises en charge

Si vos données ne nécessitent aucune opération arithmétique, une liste peut être un meilleur choix, car elle prend en charge de meilleures fonctions intégrées pour la manipulation des données.

D'autre part, les tableaux doivent être utilisés lorsque des opérations mathématiques doivent être effectuées. Le module NumPy prend en charge de nombreuses opérations mathématiques avancées, notamment la trigonométrie et les opérations logarithmiques.

Module à importer

Une liste peut être déclarée sans importer de module ou de bibliothèque. Il peut être défini comme une variable habituelle puisqu'il s'agit d'une structure de données intégrée à Python.

Cependant, le tableau n'est pas l'un des conteneurs par défaut de Python. Il existe deux modules les plus populaires - array et NumPy . Chaque module est livré avec des fonctions prédéfinies pour manipuler et gérer les données stockées dans le tableau.

Conclusion

Cet article a couvert tous les sujets nécessaires pour vous donner une compréhension approfondie de la différence entre tableau et liste en Python. Nous avons également discuté des différents cas d'utilisation où une liste ou un tableau convient.

Si vous souhaitez commencer votre voyage en science des données, inscrivez-vous à la science des données d'upGrad cours aujourd'hui. Découvrez la vaste collection de cours sur upGrad pour démarrer votre carrière.

Quand utiliser un tableau sur une liste en Python ?

Le tableau Python est préféré à une liste dans divers scénarios :

1. Étant donné que le tableau en Python est plus compact et consomme moins de mémoire qu'une liste, il est préférable d'utiliser un tableau lorsqu'une grande quantité de données doit être stockée.
2. Il n'est pas nécessaire d'utiliser une liste pour stocker les données lorsque tous les éléments sont du même type de données et donc un tableau sera plus efficace ici.
3. Les données stockées dans un tableau peuvent être facilement manipulées mathématiquement alors que c'est assez gênant avec une liste.

Quel est le plus rapide entre tableau et liste en Python ?

Un tableau est plus rapide qu'une liste en python car tous les éléments stockés dans un tableau sont homogènes c'est-à-dire qu'ils ont le même type de données alors qu'une liste contient des éléments hétérogènes.

De plus, les tableaux Python sont implémentés en C, ce qui le rend beaucoup plus rapide que les listes intégrées à Python lui-même.

Quand une liste est-elle plus appropriée pour stocker des données en Python ?

La liste Python a une grande importance dans le stockage de données et peut être utilisée dans plusieurs cas :

1. Lorsque vous disposez de divers éléments de types de données différents, vous pouvez les stocker dans une liste et accéder à ces éléments en vous référant simplement à leurs indices.
2. Une liste peut également être redimensionnée. Par conséquent, une liste est utile lorsque vous n'êtes pas certain du nombre d'éléments.
3. Les listes sont hautement préférables lorsqu'une petite quantité de données doit être stockée, car les fonctions intégrées de la liste sont très pratiques pour la manipulation des données.