If keys and values are unique, maybe just store both in the same
dictionary:
mydict[a] = b
mydict[b] = a
...
Gerry
On Jul 14, 8:31 am, Impotent Verse <[EMAIL PROTECTED]> wrote:
> If keys and values are unique you could do this...
>
> --
>
> # Left : Right
>
This is a better version of the class that I sen't you, now it raises a
KeyError when you try to insert a value that is already in
class MyCoolDictionary(dict):
def __init__(self, *args, **kargs):
dict.__init__(self, *args, **kargs)
def __setitem__(sel
If keys and values are unique you could do this...
--
# Left : Right
roman = { "One" : "I",
"Two" : "II",
"Three" : "III",
"Four": "IV",
"Five": "V",
"Six" : "VI",
"Seven" : "VII",
Akathorn Greyhat sent me by email the next solution, which althought
isn't generic it works well:
-
You could make your own class for that, maybe something like
#
class MyCoolDictionary(dict):
def __init__(self, *args, **kargs):
dict.__init__(self, *args, **kargs
Larry Bates:
> The only case where it would be faster would be if most of the keys were NOT
> in
> the dictionary (rather odd use case). Otherwise I believe you will find the
> first way quicker as the exceptions are infrequent.
I have written a small benchmark:
from random import shuffle
def
Dennis Lee Bieber wrote:
On Sun, 13 Jul 2008 16:21:11 -0700 (PDT), Kless
<[EMAIL PROTECTED]> declaimed the following in comp.lang.python:
I need a dictionary where get the result from a 'key' (on left), but
also from a 'value' (on right), how to get it?
I know that dictionaries aren't bidirect
But in my dictionary both keys and values are unique.
On Jul 14, 7:34 am, Dennis Lee Bieber <[EMAIL PROTECTED]> wrote:
> On Sun, 13 Jul 2008 16:21:11 -0700 (PDT), Kless
> <[EMAIL PROTECTED]> declaimed the following in comp.lang.python:
>
> > I need a dictionary where get the result from a 'key' (o
On Jul 13, 6:53 pm, Larry Bates <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> > bukzor:
> >> You need to use two dictionaries. Here's a class that someone's
> >> written that wraps it up into a single dict-like object for you:
> >>http://www.faqts.com/knowledge_base/view.phtml/aid/4376
>
-- Forwarded message --
From: Akathorn Greyhat <[EMAIL PROTECTED]>
Date: 2008/7/14
Subject: Re: Dictionary bidirectional
To: Kless <[EMAIL PROTECTED]>
2008/7/14 Kless <[EMAIL PROTECTED]>:
I need a dictionary where get the result from a 'key' (on lef
[EMAIL PROTECTED] wrote:
bukzor:
You need to use two dictionaries. Here's a class that someone's
written that wraps it up into a single dict-like object for you:
http://www.faqts.com/knowledge_base/view.phtml/aid/4376
It contains code like:
try:
del self.data[item]
except KeyError:
pa
bukzor:
> You need to use two dictionaries. Here's a class that someone's
> written that wraps it up into a single dict-like object for you:
> http://www.faqts.com/knowledge_base/view.phtml/aid/4376
It contains code like:
try:
del self.data[item]
except KeyError:
pass
Exceptions are usef
On Jul 13, 4:21 pm, Kless <[EMAIL PROTECTED]> wrote:
> I need a dictionary where get the result from a 'key' (on left), but
> also from a 'value' (on right), how to get it?
>
> I know that dictionaries aren't bidirectional, but is there any way
> without use two dictionaries?
>
> Thanks in advance!
On Jul 13, 4:21 pm, Kless <[EMAIL PROTECTED]> wrote:
> I need a dictionary where get the result from a 'key' (on left), but
> also from a 'value' (on right), how to get it?
>
> I know that dictionaries aren't bidirectional, but is there any way
> without use two dictionaries?
>
> Thanks in advance!
13 matches
Mail list logo