1 def f(d): 2 return d.keys() 3 4 def g(d): 5 for key, value in d.items(): 6 return value 7 8 d = {10 : "a", 20 : "b", "c" : 30, (1, 2) : "d"} 9 print "# d: ", 10 print d 11 print d[10] # a 12 print d[20] # b 13 print d["c"] # 30 14 print d[(1, 2)] # d 15 try: 16 print d[30] # should fail with an exception 17 except KeyError, exc: 18 print "d[30]: key not found", exc.key 19 print d.get(30) # None 20 print d.get(30, "c") # c 21 22 l = f(d) 23 print "# l: ", 24 print l 25 print 10 in l # True 26 print 20 in l # True 27 print "c" in l # True 28 print "d" in l # False 29 print 30 in l # False 30 print (1, 2) in l # True 31 32 l = d.values() 33 print "# l: ", 34 print l 35 print "a" in l # True 36 print "b" in l # True 37 print "c" in l # False 38 print "d" in l # True 39 print 30 in l # True 40 print (1, 2) in l # False 41 42 v = g(d) # either "a" or "b" or 30 or "d" 43 print "# v: ", 44 print v 45 print v == "a" or v == "b" or v == 30 or v == "d" # True 46 print v == 10 or v == 20 or v == "c" or v == (1, 2) # False 47 48 l = d.items() 49 print "# l: ", 50 print l 51 print (10, "a") in l # True 52 print ("c", 30) in l # True 53 print ((1, 2), "d") in l # True 54 print (10, "b") in l # False 55 56 # Try to put a list key in a dictionary. 57 58 try: 59 d[[1, 2]] = "e" 60 print d[[1, 2]] 61 except TypeError: 62 print "d[[1, 2]]: key not appropriate"