dict.pop()

Supprime une clé d’un dictionnaire et renvoie sa valeur, avec éventuellement une valeur de repli.

Renvoie
La valeur de la clé supprimée, ou default.
Modifie l’original
Oui
Sur cette page

Exemple

#
Python
user = {"name": "Lucas", "email": "lucas@example.com", "token": "a1b2c3"}

token = user.pop("token")
print(token)
print(user)
print(user.pop("token", "aucun"))
Résultatrésultat enregistré, vous pouvez le vérifier
a1b2c3
{'name': 'Lucas', 'email': 'lucas@example.com'}
aucun

Définition et utilisation

#

La méthode pop(clé) supprime une entrée du dictionnaire et renvoie la valeur qui s’y trouvait. Elle est pratique quand vous voulez extraire une donnée et vous en débarrasser en même temps, par exemple déplacer un champ vers une autre structure ou le retirer avant d’envoyer les données plus loin.

Quand la clé est absente, pop() lève une KeyError. Si vous passez un second argument, il est renvoyé à la place de l’erreur, et le dictionnaire reste inchangé. Écrire data.pop("tmp", None) est une façon sûre de supprimer une clé qui pourrait ne pas exister.

Des outils apparentés sont l’instruction del dictionnaire[clé], qui supprime une entrée sans renvoyer la valeur, et la méthode popitem(), qui supprime et renvoie la dernière paire ajoutée.

Syntaxe

#
Syntaxe
dictionnaire.pop(key)
dictionnaire.pop(key, default)

Paramètres

#
  • key

    une clé du dictionnaire

    La clé à supprimer.
  • default

    optionnel

    La valeur renvoyée quand la clé est absente. Sans cela, une clé absente lève une KeyError.

Plus d’exemples

#
Clé absente sans valeur de repli
Python
cart = {"HTML": 49}

try:
    cart.pop("Python")
except KeyError as error:
    print("KeyError:", error)
Résultatrésultat enregistré, vous pouvez le vérifier
KeyError: 'Python'
popitem() et del
Python
queue = {"tâche_1": "HTML", "tâche_2": "CSS", "tâche_3": "Python"}

print(queue.popitem())
del queue["tâche_1"]
print(queue)
Résultatrésultat enregistré, vous pouvez le vérifier
('tâche_3', 'Python')
{'tâche_2': 'CSS'}

Bonnes pratiques

#
  • Supprimez une clé qui pourrait ne pas exister avec pop(key, None). Vous n’avez alors besoin ni d’une condition ni d’un bloc try.
  • Quand vous n’avez pas besoin de la valeur de la clé supprimée, del dictionnaire[clé] s’écrit plus court.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.