Suppression d’un élément pendant une itération dans un dictionnaire Python
Citation de webdev le 21 novembre 2024, 17 h 21 minSalut à tous,
Je veux supprimer des clés spécifiques dans un dictionnaire pendant que je boucle dessus. Voici mon code :
data = {"a": 1, "b": 2, "c": 3}
for key in data:
if key == "b":
del data[key]
print(data)
Mais j’obtiens cette erreur :
RuntimeError: dictionary changed size during iteration!
Salut à tous,
Je veux supprimer des clés spécifiques dans un dictionnaire pendant que je boucle dessus. Voici mon code :
data = {"a": 1, "b": 2, "c": 3}
for key in data:
if key == "b":
del data[key]
print(data)
Mais j’obtiens cette erreur :
RuntimeError: dictionary changed size during iteration!
Citation de CyberGenius le 21 novembre 2024, 18 h 22 minSalut webdev,
Vous ne pouvez pas modifier la taille d’un dictionnaire pendant une boucle. Utilisez une copie de la liste des clés :
data = {"a": 1, "b": 2, "c": 3} for key in list(data.keys()): if key == "b": del data[key] print(data) # Résultat : {"a": 1, "c": 3}
Salut webdev,
Vous ne pouvez pas modifier la taille d’un dictionnaire pendant une boucle. Utilisez une copie de la liste des clés :
data = {"a": 1, "b": 2, "c": 3}
for key in list(data.keys()):
if key == "b":
del data[key]
print(data)
# Résultat : {"a": 1, "c": 3}