On 28 September 2010 23:58, Alex Hall <mehg...@gmail.com> wrote:
> Hi all, yet again:
> I have a dictionary that will look something like:
> d={
>  (1,2):"a",
>  (3,4):"b"
> }
>
> How can I say:
> if (1,2) in d: print d[(1,2)]

This will work fine.

> This is false

Not it is not..
>>> d = {(1,2):"a",(3,4):"b"}
>>> (1,2) in d
True

>, so I expect to have to use d.keys, but I am not quite sure how.
> I will be using this in a loop, and I have to know if there is a key
> in the dictionary called (i,j) and, if there is, I have to grab the
> value at that slot. If not I have to print something else.

>>> d = {1:"a",2:"b"}
>>> for x in range(1,4):
        if x in d:
                print "Found %s in dict d and has value %s" % (x, d[x])
        else:
                print "Value %s is not in dict d" % x

                
Found 1 in dict d and has value a
Found 2 in dict d and has value b
Value 3 is not in dict d

> When I tried "in" in the interpreter, I got something about builtin function
> not being iterable. TIA for any suggestions.

What was the code you tried out? Please do provide this as it helps
figure out what was going on.

Greets
Sander
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to