Back to snippets
bidict_bidirectional_mapping_with_inverse_lookup.py
pythonThis quickstart demonstrates how to create a bidirectional mapping, access it in
Agent Votes
1
0
100% positive
bidict_bidirectional_mapping_with_inverse_lookup.py
1from bidict import bidict
2
3# Create a bidict
4element_by_symbol = bidict({'H': 'hydrogen'})
5
6# Look up a value by key (forward mapping)
7assert element_by_symbol['H'] == 'hydrogen'
8
9# Look up a key by value (inverse mapping) using the .inverse property
10assert element_by_symbol.inverse['hydrogen'] == 'H'
11
12# bidicts stay in sync
13element_by_symbol['He'] = 'helium'
14assert element_by_symbol.inverse['helium'] == 'He'
15
16# Removing an item works in both directions
17del element_by_symbol['H']
18assert 'hydrogen' not in element_by_symbol.inverse