Python >> Tutoriel Python >  >> Python Tag >> Array

Tableau vs Liste en Python - Quelle est la différence ?

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. Alors, quelle est la différence entre un tableau et une liste en Python ? Dans cet article, nous expliquerons en détail quand utiliser un tableau Python par rapport à une liste.

Python a beaucoup de structures de données différentes avec différentes caractéristiques et fonctions. Ses structures de données intégrées incluent des listes , tuples, ensembles et 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 packages.

Un tableau la structure de données appartient à la catégorie "must-import". Pour utiliser un tableau en Python, vous devrez importer cette structure de données à partir de NumPy forfait ou le tableau module .

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.

Qu'est-ce qu'une liste en Python ?

Une liste est une structure de données intégrée à Python et contenant une collection d'éléments. Les listes ont un certain nombre de caractéristiques importantes :

  • Les éléments de la liste sont entre crochets, comme ceci [item1, item2, item3] .
  • Les listes sont ordonnées – c'est-à-dire que les éléments de la liste apparaissent dans un ordre spécifique. Cela nous permet d'utiliser un index pour accéder à n'importe quel élément.
  • Les listes sont mutables , ce qui signifie que vous pouvez ajouter ou supprimer des éléments après la création d'une liste.
  • Les éléments de liste n'ont pas besoin d'être uniques . La duplication d'éléments est possible, car chaque élément a sa propre place distincte et est accessible séparément via l'index.
  • Les éléments peuvent être de différents types de données  :vous pouvez combiner des chaînes, des entiers et des objets dans la même liste.

Les listes sont très facilement créées en Python :

list = [3, 6, 9, 12]
print(list)
print(type(list))
[3, 6, 9, 12]
<class 'list'>

Les listes Python sont utilisées un peu partout, car elles constituent un excellent outil pour enregistrer une séquence d'éléments et la parcourir.

Qu'est-ce qu'un tableau en Python ?

Un tableau est également une structure de données qui stocke une collection d'éléments. Comme les listes, les tableaux sont ordonnés , modifiable , entre crochets , et capable de stocker des éléments non uniques articles.

Mais lorsqu'il s'agit de la capacité de la baie à 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 tableau modules ou un NumPy paquet .

import array as arr
import numpy as np

Le tableau Python le module nécessite que tous les éléments du tableau soient du même type . De plus, pour créer un tableau, vous devrez spécifier un type de valeur. Dans le code ci-dessous, le "i" signifie que tous les éléments de array_1 sont des entiers :

array_1 = arr.array("i", [3, 6, 9, 12])
print(array_1)
print(type(array_1))
array('i', [3, 6, 9, 12])
<class 'array.array'>

D'autre part, NumPy les tableaux prennent en charge différents types de données . Pour créer un NumPy tableau, il vous suffit de spécifier les éléments (entre crochets, bien sûr) :

array_2 = np.array(["numbers", 3, 6, 9, 12])
print (array_2)
print(type(array_2))
['numbers' '3' '6' '9' '12']
<class 'numpy.ndarray'>

Comme vous pouvez le voir, array_2 contient un élément de la chaîne type (c'est-à-dire "chiffres" ) et quatre entiers.

Alors, quelle est la différence ?

Maintenant que nous connaissons leurs définitions et fonctionnalités, 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 font pas , car ils sont intégrés à 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 à partir du tableau module (c'est-à-dire array.array() ) ou NumPy package (c'est-à-dire numpy.array() ). Pour cette raison, les listes sont utilisées plus souvent 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 gérer 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.
array = np.array([3, 6, 9, 12])
division = array/3
print(division)
print (type(division))
[1. 2. 3. 4.]
<class 'numpy.ndarray'>
list = [3, 6, 9, 12]
division = list/3
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in ()
      1 list = [3, 6, 9, 12]
----> 2 division = list/3

TypeError: unsupported operand type(s) for /: 'list' and 'int'

Bien sûr, il est possible de faire une opération mathématique avec une liste, mais c'est beaucoup moins efficace :

À partir des structures de données Python en pratique cours

Alors, quand utiliser une liste et quand utiliser un tableau ?

  • Si vous avez besoin de stocker une séquence relativement courte d'éléments et que vous ne prévoyez pas d'effectuer d'opérations mathématiques avec, une liste est le choix préféré. Cette structure de données vous permettra de stocker une séquence ordonnée, modifiable et indexée d'éléments sans importer de modules ou de packages 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 prévoyez d'effectuer des opérations numériques avec votre combinaison d'éléments, utilisez un tableau . L'analyse de données et la science des données dépendent fortement des tableaux (principalement NumPy).

Il est temps de pratiquer les tableaux et les listes Python !

Super! Vous connaissez maintenant la différence entre un tableau et une liste en Python. Vous savez également lequel choisir pour une séquence d'éléments. Il est maintenant temps de s'entraîner !

Si vous souhaitez approfondir votre compréhension des structures de données et pratiquer plus de 100 exercices interactifs, consultez le cours LearnPython.com Python Data Structures in Practice. Cela vous aidera à vous sentir comme un pro lorsque vous traitez des listes, des listes imbriquées, des tuples, des ensembles et des dictionnaires.


Post précédent
No