
Hi On 2011-10-09 22:25, Karthick Sankarachary wrote:
Currently, to check whether a single key is in a dictionary, we use the "in" keyword. However, there is no built-in support for checking if a key-value pair belongs in a dictionary.
Yes there is. You use the "viewitems()" method in 2.7 or the "items()" method in 3.x to get a set-like view on the dictionary, then test membership of that. So for your example:
tel = {'jack': 4098, 'sape': 4139} ('jack', 4098) in tel.items() # use viewitems() in 2.7 True ('jack', 4000) in tel.items() # use viewitems() in 2.7 False 'jack' in tel True
The above code *works* in all versions of python (AFAIK), but for large dictionaries it can be quite inefficient in all versions before 3.0.
From 3.0 forward this is the "one obvious way to do it", and is fast no matter the size of the dictionary (expected O(1) time).
HTH - Jacob