当前位置:   article > 正文

Python 字典默认值设置_python字典默认值

python字典默认值
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Tue May 17 15:19:30 2022
  4. @author: 12506
  5. """
  6. #还有dic.get()方法,看参考
  7. # =============================================================================
  8. # # 这种是会报错的,因为字典中没有key的记录
  9. # strings = ('puppy', 'kitten', 'puppy', 'puppy',
  10. # 'weasel', 'puppy', 'kitten', 'puppy')
  11. # counts = {}
  12. #
  13. # for kw in strings:
  14. # counts[kw] += 1
  15. # =============================================================================
  16. # 改进1:思想:第一次统计时候设置默认值1
  17. # =============================================================================
  18. # strings = ('puppy', 'kitten', 'puppy', 'puppy',
  19. # 'weasel', 'puppy', 'kitten', 'puppy')
  20. # counts = {}
  21. #
  22. # for kw in strings:
  23. # if kw not in counts:
  24. # counts[kw] = 1
  25. # else:
  26. # counts[kw] += 1
  27. #
  28. # # counts:
  29. # # {'puppy': 5, 'weasel': 1, 'kitten': 2}
  30. #
  31. # =============================================================================
  32. # 改进2:使用setdefault()函数:第一个参数是key的名称,第二个参数是默认值
  33. # =============================================================================
  34. # strings = ('puppy', 'kitten', 'puppy', 'puppy',
  35. # 'weasel', 'puppy', 'kitten', 'puppy')
  36. # counts = {}
  37. #
  38. # for kw in strings:
  39. # counts[kw] = counts.setdefault(kw, 0) + 1
  40. # =============================================================================
  41. # 以上方法已可以解决 字典默认值问题
  42. # 下面给出一种字典本身提供的默认值功能:collections.defaultdict(factory_function)
  43. # factory_function可以是list、set、str、int:当key不存在时候,返回默认值
  44. # =============================================================================
  45. # from collections import defaultdict
  46. #
  47. # dict1 = defaultdict(int)
  48. # dict2 = defaultdict(set)
  49. # dict3 = defaultdict(str)
  50. # dict4 = defaultdict(list)
  51. # dict1[2] = 'two'
  52. #
  53. # print(dict1[1])
  54. # print(dict2[1])
  55. # print(dict3[1])
  56. # print(dict4[1])
  57. #
  58. # # output:
  59. # # 0
  60. # # set()
  61. # #
  62. # # []
  63. # # dict1: defaultdict(int, {2: 'two', 1: 0})
  64. # =============================================================================
  65. # =============================================================================
  66. # from collections import defaultdict
  67. # # collections 类似一个类,用来初始化一个指定类型的字典
  68. # dic = defaultdict(list)
  69. # # dic: defaultdict(list, {})
  70. # dic['a']
  71. # # dic: defaultdict(list, {'a': []})
  72. # dic['b'].append('qq')
  73. # # dic: defaultdict(list, {'a': [], 'b': ['qq']})
  74. # dic.get('ss') # dict.get返回指定键的值,如果值不在字典中返回default
  75. # dic['ss']
  76. # # dic: defaultdict(list, {'a': [], 'b': ['qq'], 'ss': []})
  77. # =============================================================================
  78. # =============================================================================
  79. # # 上面的单词统计
  80. # from collections import defaultdict
  81. #
  82. # strings = ('puppy', 'kitten', 'puppy', 'puppy',
  83. # 'weasel', 'puppy', 'kitten', 'puppy')
  84. # counts = defaultdict(lambda: 0) # 使用lambda来定义简单的函数
  85. #
  86. # for s in strings:
  87. # counts[s] += 1
  88. # # counts: defaultdict(<function __main__.<lambda>()>, {'puppy': 5, 'kitten': 2, 'weasel': 1})
  89. # =============================================================================

参考

参考2dic.get

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/515672
推荐阅读
相关标签
  

闽ICP备14008679号