Dictionaries - Cours

1 Dictionary (Dict)

Un dictionnaire est une collection de paires clé-valeur. Chaque clé est unique et est utilisée pour accéder à sa valeur associée. Les dictionnaires sont utiles pour stocker des données qui doivent être rapidement accessibles via une clé spécifique.

Figure 1: Créer un dictionnaire
Figure 2: Récupérer les clés du dictionnaire
Figure 3: Récupérer les valeurs du dictionnaire
Figure 4: Vérifier si une clé existe dans le dictionnaire
Figure 5: Lire une valeur du dictionnaire
Figure 6: Modifier une valeur du dictionnaire
Figure 7: Ajouter une paire clé-valeur au dictionnaire
Figure 8: Supprimer une paire clé-valeur du dictionnaire

1.1 Syntaxe et Complexité en temps

# default_start
# Créer un dictionnaire vide
dictName = Dict() # O(1)

# Créer un dictionnaire en spécifiant ses paires clé-valeur
dictName = Dict({key1:Value1, key2:Value2, key3:Value3, ... }) # O(n)

# Récupérer la liste des clés du dictionnaire
keys = dictName.keys() # O(n)

# Récupérer la liste des valeurs du dictionnaire
values = dictName.values() # O(n)

# Vérifier si une clé existe dans le dictionnaire
exists = dictName.has(key) # O(1)

# Lire une valeur du dictionnaire
value = dictName.get(key) # O(1)

# Modifier une valeur du dictionnaire
dictName.set(key, newValue) # O(1)

# Ajouter une paire clé-valeur au dictionnaire
dictName.add(newKey, newValue) # O(1)

# Supprimer une paire clé-valeur du dictionnaire
dictName.pop(key) # O(1)
# default_end

1.2 Exemple

# default_start
# Déclaration d'un dictionnaire représentant un point 2D
point = Dict({"x": 0, "y": 0})
print("Point:", point)

# Récupérer la liste des clés du dictionnaire
keys = point.keys()
print("Keys:", keys)

# Récupérer la liste des valeurs du dictionnaire
values = point.values()
print("Values:", values)

# Lire une valeur du dictionnaire
x = point.get("x")
print("x:", x)

# Modifier une valeur du dictionnaire
point.set("y", 1)
print("Point:", point)

# Vérifier si une clé existe dans le dictionnaire
exists = point.has("z")
print("Key 'z' exists:", exists)

# Ajouter une paire clé-valeur au dictionnaire
point.add("z", 2)
print("Point:", point)
# default_end

1.3 Premier pas

  1. Créer un dictionnaire nommé \(person\) avec les pairs clé-valeur suivantes : \(\q{name}:\q{Alice}\), \(\q{age}:\q{30}\), \(\q{city}:\q{London}\)
  2. Afficher la chaine de caractère \(\q{person:}\) suivie du dictionnaire \(person\)
  3. Afficher la chaine de caractère \(\q{keys:}\) suivie de toutes les clés du dictionnaire
  4. Afficher la chaine de caractère \(\q{values:}\) suivie de toutes les valeurs du dictionnaire
  5. Afficher la chaine de caractère \(\q{city:}\) suivie de la valeur associée à la clé \(\q{city}\) dans le dictionnaire
  6. Remplacer la valeur de la clé \(\q{city}\) par \(\q{Paris}\) dans le dictionnaire
  7. Afficher à nouveau la chaine de caractère \(\q{city:}\) suivie de la valeur associée à la clé \(\q{city}\) dans le dictionnaire
  8. Afficher la chaine de caractère \(\q{has job:}\) suivie de la valeur booléenne indiquant si la clé \(\q{job}\) existe dans le dictionnaire
  9. Ajouter une nouvelle paire clé-valeur \(\q{job}:\q{engineer}\) au dictionnaire
  10. Afficher la chaine de caractère \(\q{job:}\) suivie de la valeur associée à la clé \(\q{job}\) dans le dictionnaire
  11. Supprimer la paire clé-valeur associée à la clé \(\q{age}\) du dictionnaire
  12. Afficher la chaine de caractère \(\q{person:}\) suivie du dictionnaire \(\q{person}\)

Votre réponse

# exercice: check 
# default_start
print("Hello, World!")

# default_end
# solution_start
person = Dict({"name": "Alice", "age": 30, "city": "London"})
print("person:", person)
keys = person.keys()
print("keys:", keys)
values = person.values()
print("values:", values)
city = person.get("city")
print("city:", city)
person.set("city", "Paris")
print("city:", person.get("city"))
has_job = person.has("job")
print("has job:", has_job)
person.add("job", "engineer")
print("job:", person.get("job"))
person.pop("age")
print("person:", person)
# solution_end