Maison >développement back-end >Tutoriel Python >Comment travailler avec des dictionnaires Python?

Comment travailler avec des dictionnaires Python?

James Robert Taylor
James Robert Taylororiginal
2025-03-10 17:13:17253parcourir

Comment puis-je travailler avec les dictionnaires Python?

Les dictionnaires Python sont des structures de données fondamentales qui stockent les données dans les paires de valeurs clés. Les clés doivent être immuables (comme les chaînes, les nombres ou les tuples), tandis que les valeurs peuvent être de n'importe quel type de données. Les dictionnaires ne sont pas ordonnés (dans Python 3.6 et plus tôt; ordonné à 3,7), ce qui signifie que l'ordre des éléments n'est pas garanti. Ils sont définis en utilisant des accolades bouclées {} et des colons : pour séparer les clés et les valeurs.

Voici un exemple simple:

<code class="python">my_dict = {"name": "Alice", "age": 30, "city": "New York"}</code>

Pour accéder à une valeur, vous utilisez la clé entre les crochets:

<code class="python">print(my_dict["name"])  # Output: Alice</code>

Si vous essayez d'accéder à une touche non existante, vous obtiendrez un KeyError. Pour éviter cela, vous pouvez utiliser la méthode get(), qui renvoie une valeur par défaut (généralement None) si la clé n'est pas trouvée:

<code class="python">print(my_dict.get("country", "Unknown"))  # Output: Unknown</code>

Vous pouvez ajouter de nouvelles paires de valeurs de clé simplement en attribuant une valeur à une nouvelle clé en utilisant le mot-clé

Valeur):
<code class="python">my_dict["occupation"] = "Software Engineer"
print(my_dict)</code>

del itération via un dictionnaire peut être effectué en utilisant les clés, les valeurs ou les deux: pop()

<code class="python">del my_dict["age"]
city = my_dict.pop("city")
print(my_dict)
print(city)</code>
Quelles sont les méthodes courantes pour manipuler les dictionnaires de python?

Au-delà des opérations de base décrites ci-dessus, les dictionnaires Python offrent plusieurs méthodes utiles pour la manipulation:
<code class="python">for key in my_dict:
    print(key)  # Iterates through keys

for value in my_dict.values():
    print(value) # Iterates through values

for key, value in my_dict.items():
    print(f"{key}: {value}") # Iterates through key-value pairs</code>
>
  • clear(): supprime tous les éléments du dictionnaire.
  • copy(): Crée une copie peu profonde du dictionnaire. Important pour distinguer simplement l'attribution new_dict = my_dict, ce qui crée une référence, et non une copie.
  • fromkeys(iterable, value): Crée un nouveau dictionnaire avec des clés de la valeur itérable et spécifiée. paires.
  • items(): Renvoie un objet de vue qui affiche une liste des clés d'un dictionnaire.
  • keys(): Supprime et renvoie une paire de valeurs de clés arbitraire (utile dans les scénarios Lifo). Dictionnaire, renvoyez sa valeur. Sinon, insérez la clé avec une valeur de
  • valeur
  • et return valeur popitem(). Utile pour éviter .
  • setdefault(key, value): met à jour le dictionnaire avec des paires de valeurs clés à partir d'un autre dictionnaire ou itérable de paires de valeurs clés. Recherchez et récupérez des données à partir d'un dictionnaire Python? La principale façon de rechercher et de récupérer les données d'un dictionnaire Python est d'utiliser la clé. Cette opération a une complexité de temps moyenne d'O (1) - un temps constant - le rendant incroyablement efficace. Cependant, si vous avez besoin de rechercher en fonction de la valeur, vous devrez itérer dans le dictionnaire, qui a une complexité temporelle de O (n) - temps linéaire, où n est le nombre d'éléments dans le dictionnaire. pour des recherches efficaces basées sur la valeur sont les meilleures pratiques pour utiliser des dictionnaires Python dans des projets à grande échelle? KeyError
  • Lorsque vous travaillez avec des dictionnaires dans des projets à grande échelle, plusieurs meilleures pratiques doivent être suivies:
    • Choix de la structure des données: Considérez si un dictionnaire est la structure de données la plus appropriée. Si vous avez besoin de données commandées, un OrderedDict (bien que moins pertinent depuis Python 3.7) ou une liste de tuples pourrait être meilleure. Si vous avez principalement besoin de vérifier l'existence d'éléments, A set peut être plus efficace.
    • Efficacité de la mémoire: Pour les dictionnaires extrêmement grands, envisagez d'utiliser plus de structures de données ou de techniques de données éconergétiques, telles que des fichiers à cartographie mémoire ou des bibliothèques spécialisées conçues pour gérer les données de données massives. Les clés et les valeurs sont conformes aux types et formats attendus. Cela empêche les erreurs inattendues et améliore la fiabilité du code.
    • Gestion des erreurs: Gérer toujours les exceptions de potentiel
    • lors de l'accès aux éléments du dictionnaire. Utilisez la méthode
    • ou les blocs pour gérer gracieusement les clés manquantes. KeyError get() lisibilité et maintenabilité du code: try-except Utilisez des noms de clés descriptifs et un formatage cohérent pour améliorer la lisibilité et la maintenabilité de votre code. Le code bien vendu est crucial pour les grands projets.
    • concurrence: si vous avez besoin d'accéder et de modifier un dictionnaire à partir de plusieurs threads, utilisez des mécanismes de verrouillage appropriés (comme
    • ) pour empêcher la corruption de la course. projets grands et complexes.

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:
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