十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Python中defaultdict 数据类型的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目网站制作、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元成华做网站,已为上家服务,为成华各地企业和个人服务,联系电话:028-86922220Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。
首先,defaultdict
是dict
的一个子类。通常 Python 中字典(dict)这种数据类型是通过键值对来存取的,当索引一个不存在的键时,就会引发keyerror
异常。那么,defaultdict
就可以解决这个问题,它可以实现为不存的键值返回一个默认值。
defaultdict
是collections
包下的一个模块,defaultdict
在初始化时可以提供一个 default_factory 的参数,default_factory 接收一个工厂函数作为参数, 可以是 int、str、list 等内置函数,也可以是自定义函数。
用法实例如下:
示例一: 统计字符串中字母出现的个数。
from collections import defaultdict s = 'mississippi' d = defaultdict(int) for k in s: d[k] += 1 print(d) # 输出 # defaultdict(, {'m': 1, 'i': 4, 's': 4, 'p': 2})
如果不用 defaultdict 的话,写法如下:
s = 'mississippi' d = {} for k in s: if k not in d: d[k] = 1 else: d[k] = d[k] + 1 print(d) # 输出 # {'m': 1, 'i': 4, 's': 4, 'p': 2}
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)] d = defaultdict(list) for k, v in s: d[k].append(v) print(d) # 输出 # defaultdict(, {'yellow': [1, 3], 'blue': [2, 4], 'red': [1]})
示例二: 使用lambda 函数。
q = defaultdict(lambda: [0, 0, 0]) print(q['a']) # 输出 # [0, 0, 0]
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。