1.1 --- a/tests/dict.py Wed Jan 11 12:26:04 2017 +0100
1.2 +++ b/tests/dict.py Wed Jan 11 17:22:32 2017 +0100
1.3 @@ -5,37 +5,56 @@
1.4 for key, value in d.items():
1.5 return value
1.6
1.7 -d = {10 : "a", 20 : "b", "c" : 30}
1.8 +d = {10 : "a", 20 : "b", "c" : 30, (1, 2) : "d"}
1.9 +print "# d: ",
1.10 print d
1.11 print d[10] # a
1.12 print d[20] # b
1.13 print d["c"] # 30
1.14 +print d[(1, 2)] # d
1.15 try:
1.16 print d[30] # should fail with an exception
1.17 except KeyError, exc:
1.18 print "d[30]: key not found", exc.key
1.19
1.20 l = f(d)
1.21 +print "# l: ",
1.22 print l
1.23 print 10 in l # True
1.24 print 20 in l # True
1.25 print "c" in l # True
1.26 +print "d" in l # False
1.27 print 30 in l # False
1.28 +print (1, 2) in l # True
1.29
1.30 l = d.values()
1.31 +print "# l: ",
1.32 print l
1.33 print "a" in l # True
1.34 print "b" in l # True
1.35 +print "c" in l # False
1.36 +print "d" in l # True
1.37 print 30 in l # True
1.38 -print "c" in l # False
1.39 +print (1, 2) in l # False
1.40
1.41 -v = g(d) # either "a" or "b" or 30
1.42 +v = g(d) # either "a" or "b" or 30 or "d"
1.43 +print "# v: ",
1.44 print v
1.45 -print v == "a" or v == "b" or v == 30 # True
1.46 -print v == 10 or v == 20 or v == "c" # False
1.47 +print v == "a" or v == "b" or v == 30 or v == "d" # True
1.48 +print v == 10 or v == 20 or v == "c" or v == (1, 2) # False
1.49
1.50 l = d.items()
1.51 +print "# l: ",
1.52 print l
1.53 print (10, "a") in l # True
1.54 print ("c", 30) in l # True
1.55 +print ((1, 2), "d") in l # True
1.56 print (10, "b") in l # False
1.57 +
1.58 +# Try to put a list key in a dictionary.
1.59 +
1.60 +try:
1.61 + d[[1, 2]] = "e"
1.62 + print d[[1, 2]]
1.63 +except TypeError:
1.64 + print "d[[1, 2]]: key not appropriate"