Liste vs Tuple: Différence entre liste et tuple

Publié: 2021-01-08

En Python, list et tuple sont une classe de structure de données qui peut stocker un ou plusieurs objets ou valeurs. Une liste est utilisée pour stocker plusieurs éléments dans une variable et peut être créée à l'aide de crochets. De même, les tuples peuvent également stocker plusieurs éléments dans une seule variable et peuvent être déclarés à l'aide de parenthèses.

Bien qu'il existe de nombreuses différences entre la liste et le tuple, il existe également certaines similitudes, comme suit :

  • Les deux structures de données sont toutes deux des types de données de séquence qui stockent des collections d'éléments.
  • Des éléments de tout type de données peuvent y être stockés.
  • Les éléments sont accessibles par leur index.

Table des matières

Liste vs Tuple

Le tableau ci-dessous comprend la différence fondamentale entre liste et tuple en Python.

Lister Tuple
C'est modifiable C'est immuable
L'implication des itérations est chronophage dans la liste. Les implications des itérations sont beaucoup plus rapides dans les tuples.
Les opérations telles que l'insertion et la suppression sont mieux exécutées. Les éléments sont mieux accessibles.
Consomme plus de mémoire. Consomme moins de mémoire.
De nombreuses méthodes intégrées sont disponibles. N'a pas beaucoup de méthodes intégrées.
Des erreurs et des modifications inattendues peuvent facilement se produire dans les listes.

Des erreurs et des modifications inattendues se produisent rarement dans les tuples.

Les sections suivantes fournissent une version détaillée de list vs tuple pour une meilleure compréhension.

Différence de syntaxe

Comme mentionné dans l'introduction, la syntaxe de la liste et du tuple est différente. Par exemple:

num_liste = [10, 20, 30, 40]

tup_num = (10, 20, 30, 40)

Mutabilité

L'une des différences les plus importantes entre la liste et le tuple est que la liste est mutable, alors qu'un tuple est immuable. Cela signifie que les listes peuvent être modifiées et que les tuples ne peuvent pas être modifiés.

Ainsi, certaines opérations peuvent fonctionner sur des listes, mais pas sur des tuples. Par exemple, en science des données, si une liste existe déjà, des éléments particuliers de celle-ci peuvent être réaffectés. Parallèlement à cela, la liste entière peut être réaffectée. Les éléments et tranches d'éléments peuvent être supprimés de la liste.

D'autre part, des éléments particuliers du tuple ne peuvent pas être réaffectés ou supprimés, mais il est possible de le découper, et même de réaffecter et de supprimer le tuple entier. Comme les tuples sont immuables, ils ne peuvent pas être copiés.

Découvrez : Python contre Java

Opérations

Bien qu'il existe de nombreuses opérations similaires aux listes et aux tuples, les listes ont des fonctionnalités supplémentaires qui ne sont pas disponibles avec les tuples. Il s'agit d'opérations d'insertion et de pop, ainsi que de tri et de suppression d'éléments dans la liste.

Les fonctions

Certaines des fonctions Python peuvent être appliquées aux deux structures de données, telles que len, max, min, any, sum, all et sorted.

Taille

En Python, les tuples se voient allouer de gros blocs de mémoire avec une surcharge moindre, car ils sont immuables ; tandis que pour les listes, de petits blocs de mémoire sont alloués. Entre les deux, les tuples ont une mémoire plus petite. Cela aide à rendre les tuples plus rapides que les listes lorsqu'il y a un grand nombre d'éléments.

Type d'éléments

Les éléments appartenant à différents types de données, c'est-à-dire les éléments hétérogènes, sont généralement stockés dans des tuples. Alors que les éléments homogènes, les éléments des mêmes types de données, sont généralement stockés dans des listes. Mais ce n'est pas une restriction pour les structures de données. Des éléments de type de données similaires peuvent être stockés dans des tuples, et différents éléments de type de données peuvent également être stockés dans des listes.

Longueur

Les longueurs diffèrent dans les deux structures de données. Les tuples ont une longueur fixe, tandis que les listes ont des longueurs variables. Ainsi, la taille des listes créées peut être modifiée, mais ce n'est pas le cas pour les tuples.

Débogage

En ce qui concerne le débogage, dans les listes par rapport aux tuples, les tuples sont plus faciles à déboguer pour les grands projets en raison de leur immuabilité. Donc, s'il y a un projet plus petit ou une quantité de données moindre, il est préférable d'utiliser des listes. En effet, les listes peuvent être modifiées, contrairement aux tuples, ce qui facilite le suivi des tuples.

Listes imbriquées et tuples

Les tuples peuvent être stockés dans des listes, et de même, les listes peuvent être stockées à l'intérieur de tuples. Dans les tuples imbriqués, un tuple peut contenir plus de tuples. Et dans les listes imbriquées, une liste peut contenir plusieurs listes.

Les usages

Il est important de comprendre qu'il existe différents cas où il est préférable d'utiliser l'une de ces structures de données, telles que ; l'utilisation de l'un ou l'autre dépend du programmeur, c'est-à-dire qu'il en choisit un selon qu'il souhaite ou non modifier les données ultérieurement.

Les tuples peuvent être utilisés comme équivalent à un dictionnaire sans clés pour stocker des données. Lorsque les tuples sont stockés dans des listes, il est plus facile de lire les données.

Lire : Plus de types de structures de données en Python

Conclusion

Cet article aide à comprendre les différences entre les listes et les tuples. Même si les deux types sont des structures de données en Python, il est important de se familiariser avec ces différences lors du choix. Les différences les plus importantes à garder à l'esprit sont que les listes sont modifiables et que les tuples ne le sont pas, les listes ont des tailles variables et les tuples ont des tailles fixes. Enfin, les opérations dans les tuples peuvent être exécutées plus rapidement.

Si vous lisez cet article, vous avez très probablement l'ambition de devenir développeur Python. Si vous êtes intéressé à apprendre python et que vous voulez vous salir les mains sur divers outils et bibliothèques, consultez le programme Executive PG de IIIT-B & upGrad en science des données.

Quand une liste Python est-elle préférée pour stocker des données ?

La liste Python est considérée comme la meilleure structure de données pour stocker les données dans les scénarios suivants : une liste peut être utilisée pour stocker diverses valeurs avec différents types de données et est accessible uniquement par leurs indices respectifs. Lorsque vous avez besoin d'effectuer des opérations mathématiques sur les éléments, une liste peut être utilisée car elle vous permet d'opérer mathématiquement les éléments directement. Puisqu'une liste peut être redimensionnée, elle peut être utilisée pour stocker les données lorsque vous n'êtes pas certain du nombre d'éléments à stocker.

Énoncez les différentes opérations de namedtuple.

Le namedtuple en Python effectue diverses opérations. Voici une liste de certaines des opérations les plus courantes effectuées par le namedtuple - Accès par index, Accès par nom de clé, make(), _asadict(), en utilisant l'opérateur "**" (double étoile), _fileds(), _replace (), etc.

Quelles sont les différentes manières de créer une liste ?

Une liste Python peut être créée de plusieurs façons qui sont mentionnées ici. Utilisation des boucles for - Une boucle for est le moyen le plus élémentaire de créer une liste. Une liste peut être créée à l'aide d'une boucle for de trois manières simples - Créer une liste vide, Itérer sur tous les éléments à insérer, Ajouter chaque élément de la liste à l'aide de la fonction append(). Utilisation de map() : La fonction map() de Python peut être utilisée alternativement pour créer une liste. Cette fonction accepte deux paramètres - Function : La fonction à laquelle la carte passe chaque itérable et Iterable : L'élément ou l'itérable à mapper. Utilisation des compréhensions de liste : cette méthode est la plus optimisée des trois méthodes. Alors que dans les méthodes ci-dessus, une liste vide doit d'abord être créée, les compréhensions de liste vous permettent d'insérer tous les éléments d'une liste en utilisant une seule ligne.