在Python中,defaultdict
是一个非常实用的内置字典子类,它可以自动为字典中不存在的键生成默认值,这样可以避免因为访问不存在的键而产生的KeyError
。defaultdict
的使用非常简单,下面将详细介绍其用法。
创新互联专注于准格尔网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供准格尔营销型网站建设,准格尔网站制作、准格尔网页设计、准格尔网站官网定制、小程序制作服务,打造准格尔网络公司原创品牌,更为您提供准格尔网站排名全网营销落地服务。
1、引入defaultdict
需要从collections
模块中引入defaultdict
。
from collections import defaultdict
2、创建defaultdict
对象
创建defaultdict
对象时,需要传入一个可调用对象(如函数、类等),这个可调用对象用于生成默认值,我们可以创建一个整数默认值为0的defaultdict
:
d = defaultdict(int)
3、使用defaultdict
当我们访问defaultdict
中不存在的键时,它会自动调用传入的可调用对象生成默认值。
print(d["a"]) # 输出:0
当我们对不存在的键进行加法操作时,也会自动生成默认值:
d["b"] += 1 print(d["b"]) # 输出:1
4、自定义默认值生成函数
我们还可以根据需要自定义默认值生成函数,我们可以创建一个字符串默认值为"unknown"的defaultdict
:
def unknown_string(): return "unknown" d = defaultdict(unknown_string)
当我们访问不存在的键时,它会返回"unknown":
print(d["c"]) # 输出:"unknown"
5、使用defaultdict
处理字典列表
defaultdict
还可以方便地处理字典列表,我们可以统计一个字符串列表中每个字符出现的次数:
s = "hello world" word_count = defaultdict(int) for word in s: word_count[word] += 1 print(word_count) # 输出:defaultdict(, {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
6、使用defaultdict
处理嵌套字典
defaultdict
还可以方便地处理嵌套字典,我们可以创建一个二维坐标系,并统计每个坐标点上有多少个点:
points = [(1, 2), (3, 4), (1, 2), (5, 6), (3, 4)] coordinate_count = defaultdict(lambda: defaultdict(int)) for x, y in points: coordinate_count[x][y] += 1 print(coordinate_count) # 输出:defaultdict(at 0x7f8c1c2d6d30>, {1: defaultdict( , {2: 2}), 3: defaultdict( , {4: 2}), 5: defaultdict( , {6: 1})})
defaultdict
是Python中的一个非常实用的内置字典子类,它可以自动为字典中不存在的键生成默认值,从而避免因为访问不存在的键而产生的KeyError
,使用defaultdict
可以让我们更加简洁、高效地处理字典数据。
当前文章:default在python
转载来于:http://www.csdahua.cn/qtweb/news17/103367.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网