Implémentation de table de hachage bidirectionnelle en Python
Le dict intégré de Python est une structure de données très utile, fournissant une recherche efficace basée sur des clés. Cependant, des situations surviennent lorsqu'une recherche inversée à partir de valeurs est souhaitée. Cet article explore les méthodes les plus efficaces de mise en œuvre d'une table de hachage bidirectionnelle, en proposant un exemple inspiré de solutions existantes et modifié pour répondre à des exigences spécifiques.
Mise en œuvre
La solution présentée utilise un bidic de classe personnalisé qui étend le dict du Python standard. Il maintient un dictionnaire inverse supplémentaire qui se met automatiquement à jour chaque fois que le bidic est modifié. Ce dictionnaire inverse mappe les valeurs à une liste de clés auxquelles cette valeur est attribuée.
Il est important de noter que, contrairement aux bibliothèques existantes, cette implémentation autorise plusieurs clés avec la même valeur. Cette fonctionnalité est cruciale dans certains scénarios.
Utilisation
La classe Bidict utilise les méthodes clés suivantes :
Exemple d'utilisation
<code class="python">bd = bidict({'a': 1, 'b': 2}) print(bd.inverse) # {1: ['a'], 2: ['b']} bd['c'] = 1 print(bd.inverse) # {1: ['a', 'c'], 2: ['b']} del bd['c'] print(bd.inverse) # {1: ['a'], 2: ['b']}</code>
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!