Switanek, Nick wrote: > Great, Kent, thanks. I thought that I had to check in the .keys() to see > if the key was there. > > It seems that the method you suggest will not work if I'm looking for a > value in the dictionary. If that's correct, is there a fast alternative > to searching through .values()
Not directly. If you only need to search by values (not keys) consider if you can reverse the keys and values. (This probably won't work if you can have many keys with the same value.) Alternately, maintain a set of values in parallel with the dictionary. If there are a lot of places where you need to do this, maybe you want to make a dict subclass that manages a helper set. A good place to start might be this recipe: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/438823 It doesn't do what you want but it is similar and shows which dict methods must be overridden. Hmm, deleting entries could be tricky, you don't know whether to delete from the helper. Maybe keep a dict that maps values to a count of how many times the value appears in the main dict. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor