Maison > développement back-end > Tutoriel Python > Quelles sont les différences entre les listes, les tuples, les ensembles et les dictionnaires?

Quelles sont les différences entre les listes, les tuples, les ensembles et les dictionnaires?

Robert Michael Kim
Libérer: 2025-03-19 11:52:25
original
912 Les gens l'ont consulté

Quelles sont les différences entre les listes, les tuples, les ensembles et les dictionnaires?

Dans Python, il existe plusieurs structures de données intégrées qui servent différentes fins en fonction de leurs caractéristiques, telles que la mutabilité, l'ordre et le type d'éléments qu'ils peuvent contenir. Passons par chacune de ces structures de données:

  1. Listes :

    • Mutabilité : mutable, ce qui signifie que vous pouvez changer, ajouter ou supprimer des éléments après la création.
    • Ordre : ordonné, les éléments sont stockés dans une séquence spécifique et leur ordre peut être invoqué.
    • Éléments : peut stocker des éléments en double et des éléments de différents types.
    • Syntaxe : défini à l'aide de crochets [] , par exemple, my_list = [1, 2, 3] .
  2. Tuples :

    • Mutabilité : immuable, ce qui signifie que vous ne pouvez pas changer, ajouter ou supprimer des éléments après la création.
    • Ordre : ordonné, similaire aux listes, les éléments sont stockés dans une séquence spécifique.
    • Éléments : peut stocker des éléments en double et des éléments de différents types.
    • Syntaxe : défini à l'aide de parenthèses () , par exemple, my_tuple = (1, 2, 3) .
  3. Ensembles :

    • Mutabilité : peut être mutable ( set ) ou immuable ( frozenset ).
    • Ordre : non ordonnés, les éléments ne sont pas stockés dans une séquence particulière et vous ne pouvez pas compter sur leur commande.
    • Éléments : Impossible de stocker des éléments en double et doit être présentable (par exemple, ne peut pas contenir de listes ou d'autres ensembles).
    • Syntaxe : défini à l'aide de bliillons bouclés {} ou de la fonction set() , par exemple, my_set = {1, 2, 3} ou my_set = set([1, 2, 3]) .
  4. Dictionnaires :

    • Mutabilité : mutable, vous pouvez modifier, ajouter ou supprimer les paires de valeurs clés après la création.
    • Ordre : ordonné depuis Python 3.7 (auparavant non ordonné), ce qui signifie que les clés sont stockées dans l'ordre elles ont été insérées.
    • Éléments : les clés doivent être uniques et présentables, les valeurs peuvent être de n'importe quel type.
    • Syntaxe : défini à l'aide de bliillons bouclés {} avec des paires de valeurs de clé, par exemple, my_dict = {'key1': 'value1', 'key2': 'value2'} .

Quelle structure de données dois-je utiliser pour stocker des éléments commandés mutables?

Si vous avez besoin de stocker des articles commandés mutables, le meilleur choix serait une liste . Les listes sont conçues pour stocker des séquences d'éléments où vous devez maintenir l'ordre et être en mesure de modifier la séquence après sa création. Vous pouvez ajouter ou supprimer des éléments à l'aide de méthodes comme append() , insert() , pop() et remove() , et vous pouvez également modifier les éléments individuels par leur index.

Exemple d'utilisation d'une liste pour les éléments commandés mutables:

 <code class="python">my_list = [1, 2, 3] my_list.append(4) # Adds 4 to the end my_list.insert(1, 1.5) # Inserts 1.5 at index 1 my_list[2] = 2.5 # Changes the value at index 2 to 2.5 print(my_list) # Output: [1, 1.5, 2.5, 3, 4]</code>
Copier après la connexion

Comment puis-je récupérer efficacement les éléments à l'aide de clés dans Python?

Pour récupérer efficacement les éléments à l'aide de clés dans Python, vous devez utiliser un dictionnaire . Les dictionnaires sont spécialement conçus pour des recherches basées sur des clés, avec une complexité temporelle moyenne d'O (1) pour accéder aux éléments. Cela les rend idéaux pour les situations où vous devez accéder fréquemment aux valeurs par leurs clés associées.

Exemple d'utilisation d'un dictionnaire pour la récupération basée sur les clés:

 <code class="python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'} print(my_dict['name']) # Output: Alice print(my_dict.get('age')) # Output: 30</code>
Copier après la connexion

La méthode get() est particulièrement utile car elle vous permet de spécifier une valeur par défaut si la touche n'est pas trouvée, ce qui peut aider à éviter les exceptions KeyError :

 <code class="python">print(my_dict.get('country', 'Unknown')) # Output: Unknown</code>
Copier après la connexion

Quelles sont les implications de performance de l'utilisation des ensembles de tests d'adhésion?

L'utilisation d'ensembles de tests d'adhésion offre des avantages de performances significatifs. La complexité du temps pour les tests d'adhésion dans les ensembles est O (1) en moyenne, ce qui signifie qu'il est très efficace pour les grands ensembles de données. En effet, les ensembles sont implémentés à l'aide de tables de hachage, qui permettent des recherches rapides.

Exemple d'utilisation d'un ensemble de tests d'adhésion:

 <code class="python">my_set = {1, 2, 3, 4, 5} print(3 in my_set) # Output: True print(6 in my_set) # Output: False</code>
Copier après la connexion

En revanche, la vérification de l'appartenance à une liste a une complexité temporelle d'O (n), qui peut devenir lente pour les grandes listes. Voici une comparaison:

 <code class="python">my_list = [1, 2, 3, 4, 5] print(3 in my_list) # Output: True, but slower for larger lists</code>
Copier après la connexion

Par conséquent, si votre opération principale consiste à vérifier si un élément existe dans une collection, l'utilisation d'un ensemble peut améliorer considérablement les performances de votre code, en particulier avec des ensembles de données plus importants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal