07_dict.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. emptyDict = dict()
  2. assert len(emptyDict) == 0
  3. tinydict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
  4. assert tinydict['Name'] == 'Tom';assert tinydict['Age'] == 7
  5. tinydict['Age'] = 8;tinydict['School'] = "aaa"
  6. assert tinydict['Age'] == 8;assert tinydict['School'] == "aaa"
  7. del tinydict['Name']
  8. assert len(tinydict) == 3
  9. tinydict.clear()
  10. assert len(tinydict) == 0
  11. dict1 = {'user':'circle','num':[1,2,3]}
  12. dict2 = dict1.copy()
  13. for k,v in dict1.items():
  14. assert dict2[k] == v
  15. tinydict = {'Name': 'circle', 'Age': 7}
  16. tinydict2 = {'Sex': 'female' }
  17. assert len(tinydict) == 2
  18. assert len(tinydict2) == 1
  19. tinydict.update(tinydict2)
  20. updated_dict = {'Name': 'circle', 'Age': 7, 'Sex': 'female'}
  21. for k,v in tinydict.items():
  22. assert updated_dict[k] == v
  23. assert len(tinydict) == 3
  24. assert tinydict == updated_dict
  25. dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
  26. keys = dishes.keys()
  27. values = dishes.values()
  28. assert sorted(keys) == sorted(['eggs', 'sausage', 'bacon', 'spam'])
  29. assert sorted(values) == sorted([2, 1, 1, 500])
  30. d={1:"a",2:"b",3:"c"}
  31. result=[]
  32. for k,v in d.items():
  33. result.append(k)
  34. result.append(v)
  35. assert len(result) == 6
  36. assert set(result) == set([1, 'a', 2, 'b', 3, 'c'])
  37. # test __eq__
  38. d1 = {1:2, 3:4}
  39. d2 = {3:4, 1:2}
  40. d3 = {1:2, 3:4, 5:6}
  41. assert d1 == d2
  42. assert d1 != d3
  43. a = dict([(1, 2), (3, 4)])
  44. assert a == {1: 2, 3: 4}
  45. assert a.pop(1) == 2
  46. assert a == {3: 4}
  47. assert a.pop(3) == 4
  48. assert a == {}
  49. # unpacking builder
  50. a = {1:2, 3:4}
  51. b = {**a, 5:6, **a}
  52. assert b == {1: 2, 3: 4, 5: 6}
  53. a = {}
  54. b = {**a, 1:2, 3:4}
  55. assert b == {1: 2, 3: 4}
  56. a = {1:2, 3:4, 7:8}
  57. b = {**a, 1:5, 3:6}
  58. c = {**a, **b}
  59. assert c == {1: 5, 3: 6, 7: 8}