Maison  >  Article  >  développement back-end  >  Comment renommer les clés dans les dictionnaires Python ?

Comment renommer les clés dans les dictionnaires Python ?

DDD
DDDoriginal
2024-11-02 13:15:02463parcourir

How do you Rename Keys in Python Dictionaries?

Renommer les clés du dictionnaire : une solution complète

Le dictionnaire Python est une structure de données polyvalente qui permet un stockage et une récupération efficaces des valeurs-clés paires. Cependant, certains scénarios peuvent nécessiter de renommer une clé sans en altérer la valeur ni perturber l'organisation du dictionnaire. Cette question répond à ce problème et propose une gamme de solutions adaptées à la fois aux dictionnaires réguliers et aux OrderedDicts.

Regular Dict

Pour un dictionnaire régulier, une approche simple consiste à utiliser le pop() pour supprimer l'ancienne clé et l'opérateur [] pour attribuer la valeur à la nouvelle clé :

<code class="python">mydict["k_new"] = mydict.pop("k_old")</code>

Cette opération déplace effectivement l'élément à la fin du dictionnaire sauf si k_new existe déjà, dans auquel cas il écrase la valeur en place.

OrderedDict

OrderedDict, introduit dans Python 3.7, préserve l'ordre d'insertion des paires clé-valeur. Pour renommer une clé tout en conservant l'ordre :

<code class="python">OrderedDict((k_new if k == k_old else k, v) for k, v in od.items())</code>

Cela réaffecte les valeurs aux nouvelles clés à l'aide d'une expression génératrice, garantissant ainsi que l'ordre est conservé.

Préserver l'ordre dans Python 3.7 Dict

Les dictionnaires Python 3.7 respectent nativement l'ordre d'insertion. Pour renommer une clé tout en préservant cet ordre :

<code class="python">d = {0:0, 1:1, 2:2, 3:3}
{k: v for k, v in d.items() if k != k_old} | {k_new: d[k_old]}</code>

Modifier la clé elle-même

La question porte sur la modification de la clé elle-même. Cependant, comme les clés sont hachables et immuables en Python, la modification directe des clés n'est pas réalisable. Cependant, en réattribuant la valeur avec le nom de clé souhaité et en supprimant l'ancienne clé, le dictionnaire reste intact, "renommant" effectivement la clé sans la modifier directement.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn