In my experience, the implementation of bijective dict is largely application specific.
1. Unique-valued dict is fairly straight forward and there is little ambiguity on implementation using 2 dicts. 2. However, if values are not to be unique, then it largely depends on application. (best (as in most efficient) pypi I have found for this: https://pypi.org/project/indexed/ <https://pypi.org/project/indexed/>) But to me it feels that there is some sort of gap in container space. E.g. I have spent a reasonable amount of time on: a) 1-2-1 dict b) many-2-many dict c) dict-deque d) bijective-dict-deque e) list-dict Maybe it would be good to have similar package to `more_itertools`. E.g. `more_collections`, where assorted recipes are implemented. I am not a fan of making my libraries dependent on less known pypi packages, but when a package is referenced in python official docs, then I am much more at ease. > On 30 Jun 2023, at 04:50, Andre Delfino <adelf...@gmail.com> wrote: > > A dict method to retrieve the key of a value from a bijective dict would have > come in handy to me in several occasions: > >>>> names = {'one': 1} >>>> names.inverse()[1] > 'one' >>>> names = {'one': 1, 'uno': 1} >>>> names.inverse()[1] > ValueError: dict is not bijective > > My usual use case is when both keys and values have simple types like > int/str, like: > > { > 'account-a': 123, > 'account-b': 456, > } > > Users may enter the account name, or the ID. The system works with the > account ID (translating from the account name if needed), but when it needs > to mention the account to the user, it shows the account name instead. > > I do understand that retrieval wouldn't be O(1). > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/BWMIASE5YCDETFSZYAUG7TVWTMBFHKQW/ > Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/DPZMOAICSV2YKBYWFSW36LW5GSPZFRNK/ Code of Conduct: http://python.org/psf/codeofconduct/