字典高级操作.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # -*- coding: UTF-8 -*-
  2. ###============更新字典============###
  3. # d1 = {}
  4. # d1['a'] = 1
  5. # d1['b'] = 2
  6. # d1['li'] = [1,2,3]
  7. # print(d1)
  8. # d1['info'] = {'name':'xdc'}
  9. # print(d1)
  10. # d1['b'] = 200
  11. # print(d1)
  12. # print( d1['li'][-1] )
  13. # print( d1['info']['name'] )
  14. ###============将两个列表对应成一个字典============###
  15. # en = {'a', 'b'}
  16. # nums = {1, 2}
  17. # d2 = {}
  18. # for x,y in zip(en,nums):
  19. # d2[x] = y
  20. # print(d2)
  21. # menus = ['get CPU', 'men']
  22. # for idx, item in enumerate(menus,1): ###自动增加索引值(以1开始)
  23. # print(idx, item)
  24. # menu_dice = {}
  25. # for idx,item in enumerate(menus,1):
  26. # menu_dice[str(idx)] = item
  27. # print(menu_dice)
  28. # for k,v in menu_dice.items(): #字典本身不是可迭代对象,items才是
  29. # print(k,v)
  30. # print( )
  31. # inp = input(">>:")
  32. #print(menu_dice.get(inp))
  33. ###============获取字典Key对应的Value============###
  34. # dict_obj = {'a': '1','b':'2'}
  35. # print(dict_obj.get('a')) # 获取到 a 对应的value
  36. # print(dict_obj.get('c')) # key不存在于字典中,则返回None
  37. # print(dict_obj.get('c','key不存在')) #key 不存在,返回指定的value
  38. # getKey = dict_obj.get('c')
  39. # print(type(getKey),getKey)
  40. ###============获取字典中所有的key和Value============###
  41. info_dict = {"name":"xdc","age":8848}
  42. # d_keys = info_dict.keys()
  43. # print(d_keys)
  44. # print(list(d_keys))
  45. print(info_dict.values()) # 这里与python2不一致
  46. print(info_dict.items()) # 这里与python2不一致
  47. for k,v in info_dict.items():
  48. print(k,v)
  49. ###============更新字典============###
  50. # d5 = {'a':1}
  51. # d6 = {'b':2}
  52. # d5.update(d6)
  53. # print(d5)
  54. # d5.update(c=3,d=10)
  55. # print(d5)
  56. # #更新时,相同的key会被新的值覆盖
  57. # x = {'a':1, 'b':2}
  58. # y = {'c':1, 'd':2}
  59. # z = {**x,**y} # 合并字典操作(python 3.5+版本支持)
  60. # print(z)
  61. ###============判断字典 key 与 Valye ============###
  62. # x = {'a':1, 'b':2}
  63. # print('a' in x.keys())
  64. # print(2 in x.values())
  65. ###============删除字典与清空============###
  66. # dict_obj = {'a':1}
  67. # del dict_obj['a']
  68. # print(id(dict_obj))
  69. # dict_obj = {}
  70. # print(id(dict_obj))
  71. # dict_obj.clear()
  72. # d6 = {'a':1,'b':2,'li':[1,2,3]}
  73. # item = d6.pop('b') #从字典中删除指定key的键值对,并返回这个key对应对值
  74. # print(item)
  75. # d6 = {'a':1,'b':2,'li':[1,2,3]}
  76. # item = d6.popitem() # 删除字典中的键值对,并返回这个键和值 (默认删除最后一个键值对)
  77. # print(item)
  78. ###============字典可迭代对象============###
  79. # en = ['a','b','c','d']
  80. # nums = ['1','2','3','4']
  81. # zip_obj = zip(en,nums)
  82. # print(zip_obj)
  83. # print(list(zip_obj))
  84. # print(dict(zip_obj))
  85. # l3 = [('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
  86. # for item in l3:
  87. # print(item)
  88. # w,n = item
  89. # print(w,n)
  90. # for w,n in l3:
  91. # print(w,n)
  92. # t3 = ('a1','b2')
  93. # for w,n in t3:
  94. # # print(w,"->", n)
  95. # s = f"{w}-->{n}"
  96. # print(s)