La compréhension du dictionnaire dans Python est un moyen concis de créer des dictionnaires en utilisant une seule ligne de code. Il vous permet de transformer un dictionnaire en un autre, ou de créer un dictionnaire à partir d'un itérable, en utilisant une syntaxe similaire aux compréhensions de la liste. La structure de base d'une compréhension du dictionnaire est:
<code class="python">{key_expression: value_expression for item in iterable if condition}</code>
Ici, key_expression
et value_expression
sont les formules utilisées pour générer les clés et les valeurs du nouveau dictionnaire. item
représente chaque élément dans l' iterable
, et condition
est un filtre facultatif qui ne comprend que les éléments qui répondent à un critère spécifié.
Par exemple, envisagez de transformer une liste de nombres en un dictionnaire où les clés sont les nombres et les valeurs sont leurs carrés:
<code class="python">numbers = [1, 2, 3, 4, 5] squares = {num: num ** 2 for num in numbers}</code>
Cela entraînera squares
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
.
La compréhension du dictionnaire peut améliorer l'efficacité du code Python de plusieurs manières:
Par exemple, considérez la tâche de filtrer un dictionnaire pour ne conserver que des paires de valeurs clés où la valeur est supérieure à 10:
<code class="python">original_dict = {'a': 5, 'b': 15, 'c': 25, 'd': 5} filtered_dict = {k: v for k, v in original_dict.items() if v > 10}</code>
L'utilisation d'une compréhension du dictionnaire ici est plus efficace que d'itérer sur le dictionnaire et d'ajouter un nouveau dictionnaire.
La compréhension du dictionnaire peut être utilisée dans une variété de scénarios pratiques. Voici quelques exemples:
<code class="python">celsius_temps = {'Paris': 28, 'London': 22, 'Berlin': 25} fahrenheit_temps = {city: (temp * 9/5) 32 for city, temp in celsius_temps.items()}</code>
<code class="python">students = {'Alice': 85, 'Bob': 72, 'Charlie': 90, 'David': 68} high_achievers = {name: grade for name, grade in students.items() if grade >= 80}</code>
<code class="python">original_dict = {'a': 1, 'b': 2, 'c': 3} inverted_dict = {v: k for k, v in original_dict.items()}</code>
<code class="python">keys = ['a', 'b', 'c'] values = [1, 2, 3] new_dict = {k: v for k, v in zip(keys, values)}</code>
Bien que la compréhension du dictionnaire soit spécialement conçue pour créer des dictionnaires, des concepts similaires peuvent être appliqués à d'autres structures de données Python, bien qu'elles soient appelées par différents noms.
<code class="python">numbers = [1, 2, 3, 4, 5] squares = [num ** 2 for num in numbers]</code>
<code class="python">numbers = [1, 2, 3, 4, 5] squares_set = {num ** 2 for num in numbers}</code>
<code class="python">numbers = [1, 2, 3, 4, 5] squares_gen = (num ** 2 for num in numbers)</code>
Bien que la compréhension du dictionnaire lui-même soit unique aux dictionnaires, le concept de création de structures de données concise et efficacement à l'aide d'une syntaxe de compréhension est un thème commun à travers les structures de données de Python.
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!