Maison >développement back-end >Tutoriel Python >Comment travailler avec des 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 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
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. 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. 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!