On 28-Sep-10 14:58, Alex Hall 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)]

Did you try this?  It looks fine to me as it is.
(1,2) is an immutable value (a tuple), so it is able to be used as a dictionary key.

if (1,2) in d

is perfectly valid, and would yield the True value as a result

if (1,2) in d: print d[(1,2)]

also is fine.  What specifically happens when you try this?


This is false, 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. When I
tried "in" in the interpreter, I got something about builtin function
not being iterable. TIA for any suggestions.


Sounds like there's more in your code than in your question. If you give us a more complete picture of what you're doing, we can likely be more helpful to you.

if i=1 and j=2, then:

if (i,j) in d

would also be true.
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to